我有两个表在我的应用程序中,我需要得到如下数据
(为了方便起见,将使用简单的表结构)
表1:用户
user_id -> int
user_name -> varchar
user_location -> text
表2:订单
order_id -> int
sender_id -> int
receiver_id -> int
order_price -> decimal
created_at -> date
我需要的是得到订单价格和日期+发件人和收件人的名称和地点。我尝试了下面的查询,但它没有返回任何结果:
SELECT
orders.price ,
(users.adress) AS senderLocation ,
(users.adress) AS receiverLocation FROM orders
JOIN users ON orders.sender_id = users.id and orders.receiver_id = users.id
2条答案
按热度按时间xxb16uws1#
如果你想为一个订单选择两个不同的用户,那么你应该加入
orders
带的表格user
两张table。例如:h6my8fg22#
你呢
JOIN
子句不能完全填充,除非sender_id = receiver_id
在你的orders_table
,这是非常不可能的。你想要两个
JOIN
s、 一个用于发送方,另一个用于接收方: