我在嘗試進行簡單查詢時遇到了問題。 我的表是:帶子查詢的MySql查詢
用戶
+-------+----------+
| id | username |
+-------+----------+
消息
+-------+-------------+------------+--------+
| id | receiver_id | sender_id | text |
+-------+-------------+------------+--------+
我需要得到來自或從SEPECIFIC用戶收到的所有消息(知道他的用戶名)。 但我也需要獲取收件人和發件人用戶名。
我用
SELECT * from user U, messages M where (M.sender_id OR M.receiver_id)=(select id from user where username = 'Guy1') group by M.id
這工作,但現在我需要他們的用戶名,所以我想到是這樣的:
SELECT * from user U, messages M, (select username as Sender from user U1, messages M1 where M1.sender_id= U1.id)as Sub where (M.sender_id OR M.receiver_id)=(select id from user where username = 'Guy1') group by M.id
,但它不給我我需要什麼,我怎麼能達到什麼樣的我想要做什麼?
在結果我需要的東西,如:
+-------+-------------------+------------------+
| text | receiver_Username | sender_Username |
+-------+-------------------+------------------+
選擇用戶名,receiver_id,SENDER_ID,從用戶文本左連接信息on user.id = messages.receiver_id – morissette 2014-10-27 19:24:22
select user,receiver_id,sender_id,來自用戶的文本左加入user.id = messages.sender_id上的消息 – morissette 2014-10-27 19:24:47
也許我沒有很好地表達,我需要獲取sender_id的用戶名和receiver_id的用戶名和文本。但只有用戶=用戶1 您發佈的所有這些查詢不會這樣做 – 2014-10-27 20:02:40