mysql - 如何将两列连接到同一个表

标签 mysql sql sql-server

<分区>

我有一个名为 messages 的 SQL 表,它有三列

1. UserFrom uniqueidentifier
2. UserTo uniqueidentifier
3. Messagen varchar(50)

此表用于存储从一个用户发送到另一个用户的消息,它存储来自 aspnet_UsersUserId 而不是 username,现在我需要创建一个 View ,通过从 aspnet_Users 获取 Usename 来显示 UserFromUserTo 作为名称使用表消息中的 UserId 表。

提前致谢

最佳答案

您需要使用不同的别名两次加入 aspnet_Users 表:

SELECT U1.Username as UserFrom,U2.Username as UserTo, M.Message
FROM Messages M JOIN
     aspnet_Users U1 ON U1.UserId=M.UserFrom JOIN
     aspnet_Users U2 ON U2.UserId=M.UserTo

解释:

这里的 aspnet_Users 表用不同的别名 U1、U2 加入了两次。每个用户名都是从相应的表中获取的。

关于mysql - 如何将两列连接到同一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24008897/

相关文章:

PHP 语法 |在数组中使用变量

mysql - 将 INNER JOIN 与插入和更新一起使用时,VB.Net 中出现错误

mysql - 房间预订查询

sql - 避免在一组记录中重复值

sql-server - docker 中的 Logstash 错误 SQL Server & JDBC 未加载

node.js 未使用 SQL Server 身份验证连接到 SQL Server 数据库

mysql - 在同一列上实现多个 WHERE 条件的 SQL 查询

mysql - 运行时"Sphinx cannot be found on your system.""rake ts:index"

javascript - Sequelize 关联包含返回 null

sql-server - 将 oracle 触发器转换为 ms sql 触发器