0
我有一個在這裏查詢將返回不同軌道ID更新值從另一個表
注:我從另一個表查詢此。
SELECT t.track_id FROM tracks t , account_x_track axt,accounts a WHERE axt.track_id = t.track_id AND axt.account_id = a.id AND a.id = 2
然後想我做的是所有的ID從上表將用於更新另一個表(具體曲目表),因爲這是從上表中檢索的ID從曲目來了表。我在想這樣的事情。
UPDATE tracks
set visible = 3
WHERE visible in(SELECT t.track_id FROM tracks t , account_x_track axt,accounts a WHERE axt.track_id = t.track_id AND axt.account_id = a.id AND a.id = 2)
但它似乎並沒有工作。任何想法我將如何處理這個dillema? 還要注意,第一個查詢查詢許多人mnay表
這是工作,但可以請你在JOIN中解釋一切嗎? – user962206 2012-08-05 02:22:40
@ user962206嘗試單獨運行子查詢查詢並查看它產生的結果。它只產生'account'' 2'包含的'track_id'。然後,我們將這個子選擇加入到'UPDATE'語句中的'tracks'表中,條件是id等於子選擇中派生的id,因此我們只更新帳號'2'包含的那些音軌。 – 2012-08-05 03:42:29