也许我的设计不好,但我目前正在努力 获得一个小型商店的订购系统启动和运行。原样 礼品订单可以让发件人和收件人显示订单的来往地点 所以我们有桌子
Person
personid
name
address
Order
Sender_personid
Receiver_personid
etc...
我无法创建一个sql语句来选择订单中两个人的姓名和地址。如果可以做到这一点,任何指针都会很棒。如果没有任何设计指针同样apreciated。
答案 0 :(得分:7)
我想你想要这样的东西:
SELECT
SP.*,
RP,*,
O.*
FROM Order O
JOIN Person SP ON SP.PersonID = O.Sender_PersonID
JOIN Person RP ON RP.PersonID = O.Receiver_PersonID
两次加入桌面。
答案 1 :(得分:2)
基本上你只是做同样的事情,就好像你只想要一个人(比如只有接收者),但这次你加入桌子两次。表别名有助于理解
SELECT receiver.name, sender.name
FROM order o, person as receiver, person as sender
where o.sender_personid = receiver.personid
and o.sender_personid = sender.personid