我需要帮助通过一个N:N关系表进行连接。
在我的第一个表中,我有汽车租赁交易记录:
Transaction
-----------------------
id : carID : date
1 : 2 : 01-01-2017
2 : 2 : 01-01-2017
3 : 3 : 01-01-2017
4 : 4 : 01-01-2017
我的汽车桌子上有:
Car
---------------
id : carInfo
2 : brown car
3 : red car
4 : green car
5 : orange car
我还有一个存储表:
Store
---------------
id : storeInfo
3 : city3
4 : city4
5 : city5
我的关系表是汽车和商店的组合,因为汽车可以从一个商店移动到另一个商店。换句话说,这是汽车曾经在其中发现过的所有商店:
Relationship Table
------------------
carID : storeID
2 : 3
2 : 4
3 : 3
我想要查询的内容是获取记录交易列表,包括汽车和商店信息,假设我只想要来自商店的交易。例如,我想要从商店3获取所有交易。我特别想要这个结果表格 (
SELECT transaction.*, car.carInfo, store.storeInfo WHERE store.ID=3
),当然需要适当的连接。Joined Transaction result table
---------------------------------------
id : date : carID : carInfo : storeID : storeInfo
where storeID=3
我知道我可以在交易表和汽车表中进行LEFT JOIN,但是如何通过关系表也连接商店表。换句话说,我目前拥有的是(我认为是错误的):
SELECT transaction.*, car.carInfo LEFT JOIN car ON transaction.carID=car.ID
问题是如何进行下一个
JOIN
,以便我可以在结尾添加 WHERE store.ID=3
并获取 store.storeInfo
列。我在缺少联接方面遇到了困难...