Select
在同一列上選擇具有多個 AND 條件的分組依據
我有一個這樣的 sql 表:
SID|SERVICE_SID|ATTRIBUTE_SID|VALUE 1 2 5 "VAL1" 2 2 4 "VAL8" 3 2 3 "VAL4" 4 11 5 "VAL1" 5 11 3 "VAL4"
我想按 service_SID 分組,其中相同的 service_sid:
AND (attribute_sid = 5 && Value=“VAL1”)
AND (attribute_sid = 4 && Value=“VAL8”)
因此,在這種情況下,只應返回 service_sid = 2 的行。
這樣的查詢是否可能?它會是什麼樣子?
您可以使用HSQLDB和 SQL Server
INTERSECT
中可用的SELECT SERVICE_SID FROM SQLTable WHERE attribute_sid = 5 AND Value='VAL1' INTERSECT SELECT SERVICE_SID FROM SQLTable WHERE attribute_sid = 4 AND Value='VAL8';
然後,您可以將此查詢的結果與您的表連接起來,然後
group by SERVICE_SID