mysql查询:根据列值选择相关记录

发布于 2024-11-09 08:56:48 字数 211 浏览 0 评论 0原文

我很难思考这个场景的查询:

tbl1 和 tbl2 被左连接 我想根据可能存在的多个记录从 tbl2 中选择记录。

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

结果应该只有 tblB 中的一条记录——因此直接的“OR”不起作用。该标准基于另一条记录的潜在存在。

I'm having a hard time wrapping my mind around a query for this scenario:

tbl1 and tbl2 are left joined
i want to select the record from tbl2 based on what multiple records may exist.

tbl2 has columns A and B. I need to select the record where:
A = 0 and B = 1 or
A = 1 and no related record where B = 1 exists

the result should only have one record from tblB -- so a straight "OR" doesn't work. the criteria is based on the potential existence of another record.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浮萍、无处依 2024-11-16 08:56:48

结果应该只有 tblB 中的一条记录——因此直接的“OR”不起作用。

事实上,确实如此。 在 A = 0 且 B = 1 或 A = 1 且 B 为空时左连接 ...。然后您需要做的是使用 distinct 运算符消除重复项。

the result should only have one record from tblB -- so a straight "OR" doesn't work.

Actually, it does. left join ... on A = 0 and B = 1 or A = 1 and B is null. What you then need to do is eliminate the duplicates with the distinct operator.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文