0
我想合併來自不同表格的數據。我跟蹤物品價格,因此我有一個特定物品的多個價格條目。如果在價格表中找不到條目,則表示該商品是免費的。 使用Top 1
和Order by Id Desc
來獲得最後一項認爲它可以工作,但SQL給我一個使用它的警告。按警告順序SQL查看
SELECT
(SELECT TOP (1) CASE WHEN Price IS NULL THEN 0.0
ELSE Price END
FROM dbo.Prices
WHERE (Id = table1.Id) AND (TableName = 'mytable')
ORDER BY Id DESC) AS Price,
(SELECT TOP (1) CASE WHEN Price IS NULL OR DiscountPrice IS NULL THEN 0.0
ELSE DiscountPrice END
FROM dbo.Prices
WHERE (Id = table1.Id) AND (TableName = 'mytable')
ORDER BY Id DESC) AS Discount FROM dbo.MainTable as table1
「警告:ORDER BY子句僅用於確定由在視圖定義中的TOP子句返回的行。 ORDER BY子句不保證排序結果...」
預期的結果是檢索來自其它表
添加以下細節:全查詢,錯誤信息,樣本數據和預期的結果 –
「警告:ORDER BY子句僅用於確定被retur行由視圖定義中的TOP子句定義。 ORDER BY子句不保證排序結果...'預期的結果是從另一個表中檢索最後一個價格和折扣號碼 – user0187409
發佈完整查詢! –