gpt4 book ai didi

使用另一个表过滤一个表的 SQL 查询

转载 作者:行者123 更新时间:2023-12-03 18:26:17 29 4
gpt4 key购买 nike

我目前有 2 个 SQL 表,如下所示:
Data Table
和...
filter table
我需要编写一个 SELECT 语句,从包含与 FilterTable 匹配的行的 DataTable 中检索所有产品。
因此,根据我上面的示例表,如果我要运行查询,它将返回以下结果:
Result table
我最近发现了一个尝试这样的问题:
SQL query where ALL records in a join match a condition?
但未能成功实现类似的事情
注意 - 我使用的是 Microsoft SQL Server 2008

最佳答案

这有点复杂,但这里有一个解决方案。基本上,您需要检查数据表中有多少记录与过滤表中的所有记录匹配。这使用子查询来做到这一点:

SELECT *
FROM DataTable
WHERE ID IN (
SELECT DT.ID
FROM DataTable DT
JOIN FilterTable FT ON FT.Name = DT.Name
AND FT.Value = DT.VALUE
GROUP BY DT.ID
HAVING COUNT(*) = (SELECT COUNT(*) FROM FilterTable)
)
  • SQL Fiddle Demo
  • 关于使用另一个表过滤一个表的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18862004/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com