2011-05-23 112 views
0

我有一个很难包装我的脑海里围绕这一情景的查询:MySQL查询:根据列中选择相关的记录值

TBL1和TBL2留加入 我想选择TBL2根据记录可能存在多个记录。

TBL2有A和B我需要选择记录的列,其中: A = 0且B = 1或 A = 1,并且其中B = 1存在

结果应该只有没有相关的记录来自tblB的一条记录 - 所以直线“或”不起作用。该标准基于另一记录的潜在存在。

回答

0

结果应该只有一条来自tblB的记录 - 所以直的“或”不起作用。

其实,它的确如此。 left join ... on A = 0 and B = 1 or A = 1 and B is null。然后你需要做的是用distinct运算符消除重复项。

+0

这不是我描述的情况。我不需要B是空的。我需要确定B = 1时没有其他相关记录。逻辑需要确定返回许多相关记录中的哪一个。 – lcdservices 2011-05-25 06:55:51

+0

在这种情况下'在a = 0和b = 1'上左连接Btbl,其中'a = 0且b = 1或a = 1且b为空' – 2011-05-25 07:14:09

相关问题