2016-08-01 61 views
0

我有一個複雜的MySQL查詢/更新。我想就如何解決這個問題提供建議。複雜的SQL查詢/更新

我會先分解成邏輯步驟。

  1. Table_A其中a = b選擇所有的ID;
    • 選擇Table_ATable_A_id FROM Table_A WHERE connected ='true';
  2. 對於所有的Table_A_id(來自1中的查詢),找到所有匹配的用戶Table_A_id
  3. 對於所有這些用戶,請查看userdetails表並複製userdetailscontact_emailusersemail

將添加表描述了一下後

+0

而你在哪裏卡住了? –

+0

我可以讓查詢獲得所有的ID,但是如何繼續步驟2,然後步驟3? – MikeL

+0

SELECT'partners'.'partner_id' FROM'partners' WHERE'connected' ='true'; (在我的問題中合作伙伴是Table_A – MikeL

回答

0

你可以嘗試這樣的事情,如果我理解正確

UPDATE users a 
    JOIN Table_A c ON c.Table_A_id = a.Table_A_id 
    JOIN userdetails b ON a.Table_A_id = b.Table_A_id 
SET a.email = b.contact_email; 
WHERE c.a = b; 
+0

我可以更改第二個JOIN用戶代碼b ON a.user_id = b.user_id ,因爲Table_A_id只存在於users表中,而不是userdetails表 – MikeL

+0

@MikeL,當然,你可以。這是一個顯示的例子,根據你的需要改變它。 – Rahul