2011-05-06 42 views
2

我有一個產生,我希望更新行,查詢看起來像這樣的查詢:更新行基礎上加入

SELECT item.item_id 
FROM items 
JOIN users2items 
ON  users2items.item_id = items.item_id 
WHERE users2items.user_id = 10; 

現在我需要更新每個記錄的列在項目表中匹配該查詢;目前我正在使用結果集,然後爲每個結果構建和執行查詢,但我認爲可能有一種方法可以直接在SQL中執行此操作。我執行單獨的語句是:

UPDATE items SET is_usable = 1 WHERE item_id = $current_id 

所以它的作品原樣,但我努力學習,如果有一個純SQL的方式來做到這一點

回答

8
UPDATE items 
JOIN users2items 
ON  users2items.item_id = items.item_id 
SET is_usable = 1 
WHERE users2items.user_id = 10 
+0

現在我覺得愚蠢 - 我試過這個,但它失敗了,但顯然是通過我當時製造的錯字。 – Will 2011-05-06 15:10:10

+1

爲什麼你認爲這個網站是如此受歡迎的第一位! – 2011-05-06 15:25:40