2013-07-04 102 views
0

我有2個表。您可以檢查上面的鏈接的表http://sqlfiddle.com/#!2/feb71/1MySQL查詢2個表並從2列創建新列

我也得到了上面的查詢

SELECT convID,Member1,Member2 
FROM tb_conversation WHERE Member1 = '1008' OR Member2 = '1008' 

第一查詢是針對表tb_conversation作出新的列,將有尚未列的記錄所述構件的id 1008

| CONVID | MEMBER1 | MEMBER2 | newColumn | 
| 1 | 1008 | 1017 | 1017 | 

所述第二查詢是加入2個表,並檢查是否是有這些2個成員之間的關係(有關係,有2條1 fromID = 1008toID = 1017relStatus = 1和其他記錄是fromID = 1017toID = 1008relStatus 1)

其實我需要,我在我的朋友的成員列表(和一個對話存在)和我沒有在我的朋友列表中的成員(和一個對話存在)。

有什麼建議嗎?

回答

0

如何:

select tb0.*, tm0.relStatus from tb_conversation tb0 join 
    tb_member_relation tm0 on 
    tm0.fromID = tb0.Member1 or 
    tm0.toID = tb0.Member1 or 
    tm0.fromID = tb0.Member2 or 
    tm0.toID = tb0.Member2 
    where tm0.fromID = 1008 or tm0.toID = 1008; 

應該把你帶到1008參與對話。

,如果你改變你的表結構以消除「從」和「爲」,只是使用,你可以簡化這個了很多談話的兩端需要

+0

這是您評論的一個很好的觀點。我會做出改變。 謝謝 –