gpt4 book ai didi

mysql - 如何在一个查询中的不同行上左连接同一个表

转载 作者:太空宇宙 更新时间:2023-11-03 10:24:05 26 4
gpt4 key购买 nike

我需要修复以下查询:

SELECT *
FROM message_treads
LEFT JOIN usernames ON usernames.uid=message_treads.uid_1
LEFT JOIN usernames ON usernames.uid=message_treads.uid_2

我知道我应该使用别名,但我不确定如何在这里使用。我知道当一张表只有一个左连接时该怎么做,但是当有多个表时该怎么做?

最佳答案

你可以这样做:

SELECT *
FROM message_treads
LEFT JOIN usersnames ON usernames.uid IN (message_treads.uid_1, message_tread.uid_2)

至于别名,你可以这样做:

SELECT *
FROM message_treads
LEFT JOIN usernames AS user1 ON user1.uid = message_treads.uid_1
LEFT JOIN usernames AS user2 ON user2.uid = message_treads.uid_2

但这可能不是您想要的,因为这将从加倍的用户名表中返回两组列。上面的第一个版本将只返回一组用户名列。

关于mysql - 如何在一个查询中的不同行上左连接同一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7823596/

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