gpt4 book ai didi

mysql - 两个外连接上的别名

转载 作者:行者123 更新时间:2023-11-29 08:00:47 25 4
gpt4 key购买 nike

我正在尝试运行一个查询,在同一个表 profile_data 上产生 2 个外部联接。所以最终我想要一个表结果用户 | friend |学位|用户值 | friend_value,其中friend_value取决于relation_ Degree。第一个外部连接有效,但是当我添加第二个外部连接时,它给了我一个错误。我认为这与别名有关。有人可以把我推向正确的方向吗?非常感谢!

         SELECT degrees.User, 
degrees.friend,
degrees.relation_degree,
a.wp_bp_xprofile_data.value as user_value,
b.wp_bp_xprofile_data.value as user_value
FROM degrees
LEFT OUTER JOIN a.wp_bp_xprofile_data
ON degrees.User=wp_bp_xprofile_data.user_id
WHERE wp_bp_xprofile_data.field_id = CASE
WHEN degrees.relation_degree = 1 Then 2
WHEN degrees.relation_degree = 2 Then 6
WHEN degrees.relation_degree = 3 Then 7
END
LEFT OUTER JOIN b.wp_bp_xprofile_data
ON degrees.friend=wp_bp_xprofile_data.user_id
WHERE wp_bp_xprofile_data.field_id = CASE
WHEN degrees.relation_degree = 1 Then 2
WHEN degrees.relation_degree = 2 Then 6
WHEN degrees.relation_degree = 3 Then 7
END

最佳答案

您似乎有 2 个表连接到同一个表,且没有使用表名别名,还有 2 个 WHERE 子句。

尝试这样的事情:-

SELECT degrees.User, 
degrees.friend,
degrees.relation_degree,
wp_bp_xprofile_data1.value as user_value_1,
wp_bp_xprofile_data2.value as user_value_2
FROM degrees
LEFT OUTER JOIN wp_bp_xprofile_data wp_bp_xprofile_data1
ON degrees.User=wp_bp_xprofile_data1.user_id
AND wp_bp_xprofile_data1.field_id = CASE
WHEN degrees.relation_degree = 1 Then 2
WHEN degrees.relation_degree = 2 Then 6
WHEN degrees.relation_degree = 3 Then 7
END
LEFT OUTER JOIN wp_bp_xprofile_data wp_bp_xprofile_data2
ON degrees.friend=wp_bp_xprofile_data2.user_id
AND wp_bp_xprofile_data2.field_id = CASE
WHEN degrees.relation_degree = 1 Then 2
WHEN degrees.relation_degree = 2 Then 6
WHEN degrees.relation_degree = 3 Then 7
END

关于mysql - 两个外连接上的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23889303/

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