gpt4 book ai didi

sql - 反向 SQL 查询

转载 作者:行者123 更新时间:2023-12-04 06:41:30 24 4
gpt4 key购买 nike

我有以下表格:

表 1 {ArticleNo (int), ArtDescription (string) }

表 2 { ArticleNo (int), Year (date) }

Table1.ArticleNo 是主键。
Table2.ArticleNo 是引用 table1.ArticleNo 的外键

很难解释我想要查询的内容,所以这里有一个简短的例子:

表1

(1,Desk)
(2,Chair)
(3,Ruler)

表2
(1,2000)
(1,2000)
(2,2001)

查询应返回:
1 Desk 2001
2 Chair 2000
3 Ruler 2000
3 Ruler 2001

所有年份(表2中的所有年份)未售出(或其他)的所有物品。

我希望你理解我的例子 - 查询似乎非常复杂。这是我的解决方法:
SELECT table1.ArticleNo,table1.ArtDescription,table2.Year
FROM table1
JOIN table2
ON table1.ArticleNo=table2.ArticleNo
WHERE NOT table1.ArticleNo IN (SELECT table2.Year FROM table2);

我尝试了很多不同的东西..我希望你能帮助我!

最佳答案

SELECT  t1.*, t2.year
FROM t1
CROSS JOIN
(
SELECT DISTINCT year
FROM t2
) t2
WHERE (t1.id, t2.year) NOT IN
(
SELECT t2.id, t2.year
FROM t2
)

t2 (year, id) 上创建索引(按此顺序)使查询快速工作。

关于sql - 反向 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4177671/

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