这是我的表格:
Book (id ,title ,author ,isbn ,cost)
Orders(orderID ,orderDate ,user(manyToOne) ,orderItems(oneToMany))
OrderItem(id ,book(ManyToOne) ,quantity ,totalPrice)
这是查询:
结果如下:
但是,结果应该只有2 rows
,只包含orderId 1 and 2
而不是4行。
答案 0 :(得分:0)
您没有正确加入订单。看起来它正在进行交叉连接。请参阅下面的正确sql。
select
*
from
orders o
inner join orderitem oi on
oi.orderID = o.orderID -- note the additional join here
inner join book b on
b.id = oi.book_id
您可以在联接中看到我已正确加入订单到orderitem。您可能需要更改ID,因为我不确定它应该是order_id,orderID还是ID。不知道你的架构。