我似乎一直在寻找解决方法。
我有这样一个SQL查询:
SELECT
c.CompanyName AS Kunde, c.IsActiveClient AS "Aktiv i CV", c.ssn AS CVR, cf.CustomFieldDefinitionFk,
cf.Value
FROM Person AS c
INNER JOIN CustomFields AS cf ON c.Id = cf.PersonFk
WHERE cf.Value='Visma'
ORDER BY Kunde;
但是在同一个colomn(customFields->Value),我有一些 "kundeCustomers",我想从我的列表中排除,他们有Visma和 "1850... "的 "Value"(2行)
但如果他们有 "1850 "行,即使他们有 "Visma "值,也不应该在我的列表中。
我已经尝试了很多NOT喜欢和其他基本的。运气不好。
使用NOT EXISTS。
SELECT
c.CompanyName AS Kunde, c.IsActiveClient AS "Aktiv i CV", c.ssn AS CVR,
cf.CustomFieldDefinitionFk, cf.Value
FROM Person AS c INNER JOIN CustomFields AS cf
ON c.Id = cf.PersonFk
WHERE cf.Value = 'Visma'
AND NOT EXISTS (
SELECT 1 FROM CustomFields
WHERE PersonFk = cf.PersonFk AND Value LIKE '1850%'
)
ORDER BY Kunde;