使用 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 查询从多个数据集中获取值的主要内容,如果未能解决你的问题,请参考以下文章

我需要将多个查询值获取到一个数据集

arcgis定义查询like公式

JDBC的结果集

Sql_从查询的结果集中分组后取最后有效的数据成新的结果集小记(待优化)

查询存储在属性中的XML值并使用C#导入到数据集中

JDBC结果集