gpt4 book ai didi

sql-server - 同一张表中的 SQL 连接混淆

转载 作者:行者123 更新时间:2023-12-01 06:20:40 24 4
gpt4 key购买 nike

我有一张这样的 table

enter image description here

;WITH People AS 
(
SELECT 1 as id, 'Ahanda' as name, 20000 as salary, 3 as manager_id
UNION ALL
SELECT 2, 'Mahfuj', 30000, 4
UNION ALL
SELECT 3, 'Mr. John', 15000, NULL
UNION ALL
SELECT 4, 'Mr. Tom', 18000, NULL
)

现在我想要这种类型的输出找到有经理的人的名字,他的经理的薪水超过 17000。

我用这个 SQL 试过了

SELECT P.name 
FROM People P
INNER JOIN People Q ON P.id = Q.manager_id
WHERE Q.salary >= 17000

但答案是

enter image description here

但从表的值来看,它只会是 People 表的第 2 行,答案将是 Mahfuj

我该如何解决这个问题?

最佳答案

弄错了,你的加入逻辑倒退了。您想将表“P”中的经理 ID 加入表“Q”的 ID

SELECT 
P.name
FROM People P
INNER JOIN People Q
ON P.manager_id = Q.id
WHERE q.salary>=17000

附:我喜欢经理们的薪水低于他们的员工。

关于sql-server - 同一张表中的 SQL 连接混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38117057/

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