我有一个问题,如何创建查询。
在SQL Server中我有表公司(带IDcomp),Cap,Founder,Adress ......表格上限,创始人和地址都与IDcomp上的公司相关联。表格上限,创建者和地址具有属性country
。我想要做的是,检查是否有任何地址国家/地区没有Cap或反向特定IDcomp。在这两个表中可以是几个不同的国家。我的SQL查询:
SELECT DISTINCT c.IDcomp, c.compName, cap.country, a.country
FROM Company AS C
JOIN Adress AS a ON(a.IDcomp = c.IDcomp AND a.base = '02') -- founder address
JOIN Capital AS cap ON(cap.IDcomp = a.IDcomp)
JOIN Founder AS F ON(f.IDcomp = a.IDcomp)
WHERE c.obl = '103'
AND (a.zap_num = f.zap_num AND f.IDcomp = c.IDcomp)
AND (cap.country != a.country)-- AND nu.country = u.country)
AND a.country IS NOT NULL
AND cap.country IS NOT NULL
AND f.country IS NOT NULL
ORDER BY c.IDcomp
通过此查询,我无法获得正确的结果,其中创始人和上限中有2个或更多国家/地区相同。我该怎么办?