使用 sql 查询从多个数据集中获取值
Posted
技术标签:
【中文标题】使用 sql 查询从多个数据集中获取值【英文标题】:Fetching value from multiple data set using sql query 【发布时间】:2014-05-05 16:19:03 【问题描述】: 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' 那么只有 101 应该使用 sql 获取。需要使用sql查询请建议...
【问题讨论】:
您的问题不清楚,请更具体以获得答案 【参考方案1】: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
【讨论】:
如果您将值传递给函数,您可以使用类似于拆分函数 (4guysfromrolla.com/webtech/031004-1.shtml) 的方法,然后使用返回表来计算唯一值的数量并在 in子句创建唯一计数并找到具有所有属性的记录。以上是关于使用 sql 查询从多个数据集中获取值的主要内容,如果未能解决你的问题,请参考以下文章