gpt4 book ai didi

mysql - 从两个表中选择给出不唯一的表/别名

转载 作者:行者123 更新时间:2023-11-29 12:30:56 24 4
gpt4 key购买 nike

我有 3 个表(user、user_authority_rules_history 和authority_rules_history),如果它们符合我的条件,我想从其中两个表中选择值。

我的查询如下所示

SELECT 
user_authority_rules_history.download_date,
authority_rules_history.*
FROM
user_authority_rules_history,
authority_rules_history
LEFT JOIN
user_authority_rules_history
ON
user_authority_rules_history.authority_rule_id = authority_rules_history.id
LEFT JOIN
user
ON
user_authority_rules_history.user_id = user.id
WHERE
user.id = 1

如果我从查询中遗漏 user_authority_rules_history.download_date ,我就能让它工作,但我显然丢失了该数据。我在这里做错了什么?

最佳答案

您在 from 子句中有一个对 user_authority_rules_history 的额外表引用。一个简单的规则:永远不要在 from 子句中使用逗号。

我认为这就是您的意图:

SELECT user_authority_rules_history.download_date, 
authority_rules_history.*
FROM authority_rules_history LEFT JOIN
user_authority_rules_history
ON user_authority_rules_history.authority_rule_id = authority_rules_history.id LEFT JOIN
user
ON user_authority_rules_history.user_id = user.id
WHERE user.id = 1

请注意,您正在按 user.id = 1 进行过滤。这会撤消您的左联接,因此您不妨在表上使用内联接。我不确定您的真正意图是什么,但这应该可以解决您的问题。

关于mysql - 从两个表中选择给出不唯一的表/别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27534991/

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