2012-10-03 45 views

回答

1

你需要加入表users上表messages單查詢兩次,因爲您需要獲得tofrom用戶的等效名稱。

SELECT a.id, 
     b.`username` TO_NAME, 
     c.`username` FROM_NAME, 
     a.Messages 
FROM tbl_Messages a 
     INNER JOIN users b 
      on a.to_ID = b.id 
     INNER JOIN users c 
      on a.from_ID = c.id 

See SQLFiddle Demo

+0

偉大的,我試過了,工作正常,但是這是做到這一點的最佳方式,或者可以有不同的語法呢? – Vikki

+0

到目前爲止,我可以說這是最有效的解決方案。還有其他解決方案,您可以從子查詢中獲取效率低於此值的值。 :D –

+1

嗨,我看到你是新來的SO。如果您覺得答案可以解決問題,請點擊綠色複選標記將其標記爲「已接受」。這有助於將注意力集中在仍然沒有答案的舊版SO上。 :D –

0

下面是查詢:

選擇消息作爲消息,(選擇從table_users其中id = to_id用戶)作爲 「從名稱」,(從table_users選擇用戶其中id = from_id)作爲來自table_messages的「To Name」;

+0

這裏是另一種方式,它也會產生與上面解釋的結果相同的結果。 – Vikki

相關問題