![](/img/trans.png)
[英]How can I select the max counted values from that was 'GROUP BY' twice?
[英]How can I select a value from a table twice with different values
我有Message表,其中存在“senderid”和“receiverid”。 我有User表,其中找到每个用户的用户名。
现在我想创建一个存储过程,在其中我选择userid = userid的用户名和userid = receivername的用户名。
我试过这个,但这是错的,因为我之前从未做过这样的事情。
SELECT SystemUser.SU_Username Where SystemUser.SU_ID=MessageReciever As RecieverName, SystemUser.SU_Username where Message.SenderID = SystemUser.SU_ID As SenderName FROM Message CROSS JOIN
SystemUser
有没有办法做我想要的?
使用表别名从SystemUser表中选择两次:
SELECT SUR.SU_Username As RecieverName
, SUS.SU_Username As SenderName
FROM Message
JOIN SystemUser SUR
on (SUR.SU_ID = Message.MessageReciever )
JOIN SystemUser SUS
on (SUS.SU_ID = Message.SenderID )
在看了你的sql很长一段时间后,我想我想你想做什么:加入两次
select r.SU_Username as RecieverName,
s.SU_Username as SenderName
from Message m
inner join SystemUser r on (r.SU_ID = m.MessageReciever)
inner join SystemUser s on (s.SU_ID = m.SenderID)
给出如下内容:
create table users ( name text, id integer );
create table messages ( receiver_id integer, sender_id integer );
你要找的应该是:
select us.name as sender_name, ur.name as receiver_name
from users us, users ur, messages m
where us.id = m.sender_id and ur.id = m.receiver_id;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.