我正在尝试与数据库进行简单的聊天。所以我创建了2个表:
Users
(ID(PK),姓名,密码)Messages
(ID(PK),senderID(来自用户的FK),recipientID(来自用户的FK)),文本我在SQL中真的是菜鸟,我只是不能编写将返回表Messages
但使用普通名称而不是senderID和recipientID的查询。另外,我没有找到1个表使用两次的例子,所以JOIN对我不起作用,或者我以错误的方式使用它。
答案 0 :(得分:2)
SELECT US.Name as SenderName, UR.Name as RecipientName, M.text
FROM Messages M JOIN Users US ON US.ID = M.senderID
JOIN Users UR ON UR.ID = M.recipientID
答案 1 :(得分:0)
不确定我是否正确理解您的问题,或者您正在使用哪个数据库,但这是我认为您正在寻找的内容:
SELECT Messages.text, Users.name
FROM Messages
inner JOIN Users
ON Messages.sender_id = Users.id