Đây là một Relational Division
vấn đề nhưng bạn cần hiển thị từng GROUP
riêng lẻ với mỗi Element
.
Truy vấn:
SELECT a.*
FROM TableName a
WHERE EXISTS
(
SELECT 1
FROM TableName b
WHERE a."GROUP" = b."GROUP" AND
b."ELEMENT" IN ('A','B')
GROUP BY b."GROUP"
HAVING COUNT(*) = 2
)
ĐẦU RA
╔═══════╦═════════╗
║ GROUP ║ ELEMENT ║
╠═══════╬═════════╣
║ 1 ║ A ║
║ 1 ║ B ║
║ 1 ║ C ║
║ 4 ║ A ║
║ 4 ║ B ║
╚═══════╩═════════╝
Nhưng nếu bạn chỉ muốn trả về GROUP
, bạn chỉ cần sử dụng cái này bên dưới
SELECT "GROUP"
FROM TableName b
WHERE "ELEMENT" IN ('A','B')
GROUP BY "GROUP"
HAVING COUNT(*) = 2
ĐẦU RA
╔═══════╗
║ GROUP ║
╠═══════╣
║ 1 ║
║ 4 ║
╚═══════╝