gpt4 book ai didi

mysql - 连接两个id的两个单表

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

我这里有这个 MySql 查询:

    SELECT 
tbl_News.NewsId,
tbl_News.UserId,
tbl_News.NewsTitle,
tbl_News.NewsText,
tbl_News.NewsDateTime,
tbl_News.NewsUpdatedDateTime,
tbl_News.IsDisabled, tbl_Users.UserId,
tbl_Users.UserId AS CreatedByUserId,
tbl_Users.UserId AS UpdatedByUserId,
tbl_Users.Username As CreatedByUsername,
tbl_Users.Username as UpdatedByUsername

FROM tbl_News
INNER JOIN tbl_Users ON tbl_News.UserId = tbl_Users.UserId
AND tbl_News.UpdatedByUserId = tbl_Users.UserId

我正在尝试将其加入到我的 tbl_Users 表中,我已经使用了 UserId 两次并给了它们不同的别名,我并没有尝试使用别名在两个标签上进行内部联接。但是我没有取得任何成功,并且不确定我所做的是否是正确的方法。对此的任何帮助/建议都会很棒

我遇到的问题是我需要返回创建它和更新它的用户名,因为它们将是两个不同的 ID

最佳答案

您使用 JOIN 从同一个表用户获取创建的用户和更新的用户详细信息,这是行不通的。您需要加入用户表 2 次,如下

SELECT 
n.NewsId,
n.UserId,
n.NewsTitle,
n.NewsText,
n.NewsDateTime,
n.NewsUpdatedDateTime,
n.IsDisabled,
n.UserId AS CreatedByUserId,
n.UpdatedByUserId AS UpdatedByUserId,
u1.Username As CreatedByUsername,
u2.Username as UpdatedByUsername
FROM tbl_News n
JOIN tbl_Users u1 ON u1.UserId = n.UserId
join tbl_Users u2 on u2.UserId = n.UpdatedByUserId

关于mysql - 连接两个id的两个单表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26845233/

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