A B
101 BOX
101 CAB
101 DAD
101 FIBC
101 INT
102 BOX
102 CAB
102 DAD
102 INT
103 BOX
103 CAB
103 FIBC
103 INT
这是2列A和B中的数据...如果我提供'BOX','CAB','DAD','INT','FIBC'那么只应该使用sql获取101 ..需要使用sql查询请提示......
答案 0 :(得分:0)
SELECT A FROM TABLEX WHERE B IN ('BOX','CAB','DAD','INT','FIBC')
HAVING COUNT(*) = 5
5是列出的变量数量,当然考虑到你不允许使用欺骗。
如果您允许使用欺骗,您可以像这样包装:
SELECT C.A FROM
(
SELECT DISTINCT A, B FROM TABLEX WHERE B IN ('BOX','CAB','DAD','INT','FIBC')
) AS C
GROUP BY C.A
HAVING COUNT(*) = 5