gpt4 book ai didi

SQL查询多个表,一个是联结表

转载 作者:行者123 更新时间:2023-12-04 00:43:52 24 4
gpt4 key购买 nike

我有一个由 4 个表组成的相当简单的数据库:

Table 1: USERS
Columns: userID, user_name

Table 2: GROUPS
Columns: groupID, group_name

Table 3 (Junction Table): GROUP_MATRIX
Columns: userID, groupID

Table 4: Messages
Columns: messageID, message, userID, groupID

我想查询所有消息,结果格式如下:

user_name, message

我这样形成查询:

SELECT USERS.user_name, MESSAGES.message
FROM GROUP_MATRIX
JOIN USERS on GROUP_MATRIX.userID = USERS.userID
JOIN MESSAGES on GROUP_MATRIX.userID = MESSAGES.userID

它有点管用,但我得到了一些重复的结果。似乎如果一个 user_ID 不止一次出现在 GROUP_MATRIX 中,那就是当我得到该用户的重复结果时。显然我不明白我正在尝试做的 JOIN,有人可以帮助我理解我做错了什么吗?

最佳答案

SELECT 子句中使用关键字 DISTINCT,如下所示:

SELECT DISTINCT USERS.user_name, MESSAGES.message
FROM GROUP_MATRIX
JOIN USERS on GROUP_MATRIX.userID = USERS.userID
JOIN MESSAGES on GROUP_MATRIX.userID = MESSAGES.userID;

关于SQL查询多个表,一个是联结表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14869041/

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