作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个由 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/
我需要创建一个从 C:\x 到 C:\xxx\yyy\zzz\aaa\bbb 的连接点(目录符号链接(symbolic link)),因为在将文件添加到这个目录,我无法控制目录结构。 我读到创建连接点
我是一名优秀的程序员,十分优秀!