【发布时间】:2018-07-26 11:24:19
【问题描述】:
我有两张表,一张包含唯一名称(bill_datatypes),另一张表示这些名称连接到某些子类别(一个名称也可以连接到更多类别)。
我想选择所有尚未连接到特定子类别的名称。这意味着名称可能在连接表中被提及,但连接到不同的子类别。
我已经用下面的子查询解决了这个问题:
SELECT T1.name
FROM bill_datatype T1
WHERE NOT EXISTS (
SELECT T2.bill_datatype_id
FROM obligatory_field T2
WHERE T2.bill_datatype_id = T1.id AND T2.bill_sub_category_id = 1
)
这个解决方案似乎效果很好,但是这样我就不能从第二个表中获得任何数据,这可能是将来需要的。
您对如何使用 LEFT JOIN 解决问题有什么建议吗? (子类别上的 WHERE 子句对我来说太具有挑战性了。)
也提前感谢您的帮助!
【问题讨论】:
标签: mysql join subquery left-join