我想在同一个mysql查询中找到3个不同的用户

时间:2011-09-18 23:33:07

标签: mysql

我有一个订单表,其中包含3个不同的用户ID(一个放置订单请求,一个订购订单,另一个收到订单)和一个用户表。我想在一个选择查询中从用户表中获取所有3个不同的名字和姓氏。你能帮帮我吗?

1 个答案:

答案 0 :(得分: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;