0
我對SQL不太熟悉,但是我已經組合了一個查詢,但我應該使用另一個表中的描述在一個表中更新兩個價格(要在20%稅上添加)通過連接表,這裏是我的問題代碼: -在SQL Server 2012上使用Join進行更新的問題
UPDATE IT_PRICE
SET ITPrice1 = Price1 + (Price1 * .2), ITPrice2 = Price2 + (Price2 * .2)
INNER JOIN IT_PRICE
ON ITEMS.ID = IT_PRICE.ID
Where ITPrice1 <= 0 AND ITPrice2 <=0 AND ITEMS.Item = 'Jet Tec HP 78'
我在SQL Express 2008的和完整的SQL 2012試過,但我得到「內部」有語法錯誤,所以我試圖從不同的打通過使用WITH語句: -
WITH Item_ID as (
SELECT ITEMS.ID FROM ITEMS WHERE ITEMS.Item = 'Jet Tec HP 78'
)
UPDATE IT_PRICE
SET ITPrice1 = Price1 + (Price1 * .2), ITPrice2 = Price2 + (Price2 * .2)
WHERE ITPrice1 <= 0 AND ITPrice2 <=0 AND ID = Item_ID
而現在我得到'無效的列名Item_ID'當我ex執行該聲明。我想要做的是將IT_PRICE表中的兩個價格添加到ITEMS中符合描述的所有項目。
如果任何人都可以指出我在正確的方向,將非常感激。
謝謝。
可能重複【如何做另一個表中的SQL Server CE表更新](http://stackoverflow.com/questions/1311236/how-to- do-sql-server-ce-table-update-from-another-table) – 2013-02-17 22:40:23
看來我有SQL 2008 Compact Edition。我已經針對SQL 2012完整版運行了它,並且它已正確完成。感謝你給出這樣一個快速的答案和格式良好的代碼,你已經救了我睡在我腦海裏。 – 2013-02-17 22:51:54