我可以检索2个不同ID的字段

时间:2015-04-17 17:42:47

标签: sql join

标题太过含糊,所以让我解释一下:

我有很多表连接根据我的select检索数据,例如我的SELECT first_name,last_name检索“Adam”,“Tedding”,它只从我查询中的INNER JOIN Users ON Users.ID = Offers.buyer_id)检索这个,我在我的Cars表中有另一个名为“owner_id”的字段是否可以执行另一个INNER JOIN,它检索owner_id的first_name和last_name,而不仅仅是buyer_id的first_name和last_name

这是我的疑问:

SELECT Users.id, Users.first_name, Users.last_name
FROM (Offers
INNER JOIN Users ON Users.ID = Offers.buyer_id)
INNER JOIN Cars ON Cars.ID = Offers.car_id)
WHERE Cars.owner_id = 44

为了进一步解释,所有这一切都是获取buyer_id的first_name和last_name,我想获取owner_id的first_name和last_name

我也在使用Microsoft Access(如果这有帮助)

1 个答案:

答案 0 :(得分:1)

要多次加入表格(我认为,您正在尝试做的事情),您需要使用别名。

Access中的别名:https://support.office.com/en-za/article/Access-SQL-FROM-clause-2a7d031c-6912-4e8c-a644-590940ddaed1#bm2

你可能会得到类似下面的东西(虽然被警告,我实际上并没有使用Access,而且依赖于一般的SQL知识,因此精确的语法可能会有所不同):

SELECT Users.first_name, Users.last_name, Owners.first_name, Owners.last_name
FROM Offers
INNER JOIN Users ON Users.ID = Offers.buyer_id
INNER JOIN Users AS Owners ON Owners.ID = Cars.owner_id