2011-09-18 65 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 - 你是对的;它需要多个表别名到相同的表名,这也是自连接所需的,但这是从一个表到另一个表的多路连接。 –

相关问题