MySQL查询2个表并从2列创建新列

时间:2013-07-04 09:09:29

标签: mysql sql join

我有两张桌子。您可以查看表格的此链接:http://sqlfiddle.com/#!2/feb71/1

我也有这个问题:

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

tb_conversation的第一个查询是创建一个新列,该列将包含不具有成员100的id的列的记录。

实施例

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

第二个查询是加入2个表并检查这2个成员之间是否存在关联(要有关系,有{1}} fromID = 1008toID = 1017 relStatus = 1有2个记录1其他记录为fromID = 1017toID = 1008 relStatus 1)

实际上我需要得到我朋友列表中的成员(并且存在对话)以及我朋友列表中没有的成员(并且存在对话)。

有什么建议吗?

1 个答案:

答案 0 :(得分: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;

应该<* em>为您提供涉及1008的对话。

<强>但

如果您更改了表格结构,则无需使用&#39;和&#39;到&#39;只是使用对话的结尾,你可以简化这一点。