使用sql查询从多个数据集中获取值

时间:2014-05-05 16:19:03

标签: sql oracle plsql

 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查询请提示......

1 个答案:

答案 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