2013-07-28 48 views
0

:)雙MYSQL要求

這裏是我的表 「聊天」:ID - FROM - TO - 味精 - DATE - RECU

我想列出誰與$用戶名聊的所有用戶。 其中$的用戶名是「FROM」(換行增加了可讀性)

$sql = "SELECT * 
     FROM chat 
     WHERE chat.from = '$username' AND chat.to != '$username' 
     GROUP BY chat.to 
     ORDER BY chat.to ASC"; 

並在$用戶名是「TO」:

$sql = "SELECT * 
     FROM chat 
     WHERE chat.from != '$username' AND chat.to = '$username' 
     GROUP BY chat.from 
     ORDER BY chat.from ASC"; 

我現在可以列出這兩個表,但如何只做一個請求或列出一個表? DISTINCT與聯盟?

謝謝! :)

+0

我不明白你爲什麼需要獨特的,而組合似乎沒有任何意義,但工會看起來像一個頑皮的想法。你爲什麼不測試和實驗? –

+0

我嘗試這個,但返回一個語法錯誤... $ sql =「SELECT DISTINCT user FROM(SELECT chat.from AS user WHERE chat.to ='$ username'UNION SELECT chat.to AS user WHERE chat.from =' $用戶名')「; – Doum

+0

你試過了什麼?向我們展示你的嘗試,以及你得到的確切和完整的錯誤。 –

回答

0

如何有所簡化查詢;這將列出您與您聊天或與您聊天的所有人的用戶名;

SELECT chat_from buddy FROM chat WHERE chat_to=$username 
UNION 
SELECT chat_to buddy FROM chat WHERE chat_from=$username 
+0

是啊!而已!非常感謝! :) – Doum