我有这个查询,它给了我一个公司列表(tblprov)及其相应的类别(tblrubro)
两个表通过一个查找表(tblprovxrubro)进行关联
SELECT p.id, p.name, r.idCat, r.rubroDesc FROM tblprov p
JOIN tblprovxrubro pr on p.id = pr.idFirm
JOIN tblrubros r on pr.idCat = r.idCat
WHERE p.id = 20
在这个例子中,我有一个公司与两个公司类别相关,所以查询将给出这个结果
id | razonSocial | idCat | catDesc |
20 | Firm 1 | 2 |Electronics |
20 | Firm 1 | 3 | Software |
如果我需要知道相反的,与公司无关的类别呢?
我想不通
1条答案
按热度按时间shyt4zoc1#
你可以做一个
LEFT JOIN
从categories表到junction表。categories表将是最左边的,因为您要考虑所有类别。在连接表中没有对应行的所有类别pid = 20
将是你的必修课。我们认为这些行使用IS NULL
比较运算符。