我有SQL其中將包含一個ID的多個行的表,如下SQL選擇行不是另一
accountid Productname
1 GL
1 IP
1 MI
2 GL
2 IP
2 PA
3 MI
3 CP
3 IP
4 GL
4 CP
4 CI
我希望能夠選擇具有一定的產品的所有帳戶但不是其他。例如對於所有具有IP或GL而不是MI,使用上面這個示例表將返回賬戶2和4
SELECT ccx_accountidname
FROM (
SELECT ccx_accountidname, ccx_productname
FROM Filteredccx_leadresearch
WHERE ccx_productname IN ('GL','IP')
AND ccx_accountidname IS NOT NULL
) AS T
WHERE ccx_productname NOT IN ('MI')
ORDER BY ccx_accountidname
和
SELECT DISTINCT LR1.ccx_accountidname
FROM Filteredccx_leadresearch LR1
LEFT JOIN Filteredccx_leadresearch LR2 ON LR1.ccx_accountid = LR2.ccx_accountid
AND LR2.ccx_productname IN ('GL', 'IP')
WHERE LR1.ccx_productname NOT IN ('MI')
AND LR1.ccx_accountidname IS NOT NULL
ORDER BY LR1.ccx_accountidname
均可以得到基本相同的結果,沒有任何這可以做到嗎?
預先感謝任何幫助
這些只有兩列嗎? – scsimon
不,有很多列,但這些是目前真正關注我的唯一2列 – SnowSheep
更多的列可以讓您有機會進行轉換,但它取決於列。 – scsimon