2011-09-18 58 views
-1

我有一個包含3個不同用戶標識的訂單表(一個放置了訂單請求,一個訂購訂單,另一個接收訂單)和一個用戶表。我想在一個選擇查詢中找出用戶表中所有3個不同的名字和姓氏。你能幫我解決這個問題嗎?我想在同一個mysql查詢中找到3個不同的用戶

+0

你能告訴我們你的表創建語句,即, DDL。 –

回答

0

這是一個簡單的案例自加入從一個表到另一個表的多路連接(本例中爲3次),這需要使用表別名。在單個查詢中使用表別名來表示單個表的多次出現,這在SQL世界中是成功的。

SELECT u1.firstname, u1.lastname, 
     u2.firstname, u2.lastname, 
     u3.firstname, u3.lastname, 
     o.order_num, o.placed_order_req, o.ordered_order, o.received_order 
    FROM Orders AS o 
    JOIN Users AS u1 ON o.placed_order_req = u1.user_id 
    JOIN Users AS u2 ON o.ordered_order_req = u2.user_id 
    JOIN Users AS u3 ON o.received_order_req = u3.user_id; 
+0

thx很多!如果這是一個愚蠢的問題,那就謝了。 –

+0

這不是一個自我加入。 – Hammerite

+0

@Hammerite - 你是對的;它需要多個表別名到相同的表名,這也是自連接所需的,但這是從一個表到另一個表的多路連接。 –

相關問題