gpt4 book ai didi

sql - 请帮助我理解为什么 MySQL 调用无效

转载 作者:太空宇宙 更新时间:2023-11-03 11:16:18 25 4
gpt4 key购买 nike

最终,我的最终目标是根据消费者所在的州为他们提供可能的选择列表。我希望这完全通过 MySQL 来处理,因为我们正在尽可能地尝试创建一个真正动态的站点。如果成员的状态不是问题,则显示所有可用的操作。如果成员处于“问题”状态,则不要显示该选项。

我将继续并首先列出当前问题的示例表:

表_A

ID  |     Name        |   value
-------------------------------
1 | f | 5.99
2 | g | 4.25
3 | h | 3.99

表_B

ID   |    state
---------------
2 | NC

对于来自亚利桑那州的消费者,他的结果将显示:

1 - f - 5.99
2 - g - 4.25
3 - h - 3.99

而从北卡罗来纳州 (NC) 开始,它将是:

1 - f - 5.99 
3 - h - 3.99

因为选项 2 对他/她无效。

我相信这个问题可以通过 WHERE NOT EXIST 来解决,但我更喜欢加入来实现目标。

我的初始查询是:

SELECT a.name, a.value FROM Table_A a
JOIN Table_B b ON a.ID = b.ID WHERE
b.state != 'NC'

但是这不起作用

我想我也可以将 WHERE 语句放在 ON 子句中:

SELECT a.name, a.value FROM Table_A a
JOIN Table_B b ON (a.ID = b.ID AND b.state!='NC')

但这也不起作用。

虽然我很高兴达到我的目标,但对我来说更重要的是理解为什么我提到的 JOIN 不起作用。

最佳答案

这可能更简洁一些:

SELECT 
a.name,
a.value
FROM Table_A a
LEFT OUTER JOIN Table_B b ON a.ID = b.ID AND b.state = 'NC'
WHERE b.ID is null

关于sql - 请帮助我理解为什么 MySQL 调用无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4823239/

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