mysql查询得到错误的结果



我做了一个电子商务模型的数据库。

到目前为止,每个看起来都很好,但是当我做一些查询时,我得到错误的结果

我为它做了一个sqlfiddle,所以你可以查看它

当我做
SELECT produkt_name, shipping_date 
FROM product, shipping 
WHERE shipping_date BETWEEN '2019-01-01' AND '2021-12-31'

,我希望

tbody> <<tr>
produckt_nameshipping_date
Ballkleid优雅2019-10-22
科隆测试器Sammlung 1 (10 flashchen)2020-07-11
Glasblaserei层:哈泽2021-12-07

您需要执行更多的连接。首先,不要使用直角连接,因为它通常会导致错误的结果。你需要结合产品、订单、发票和运输来得到结果:

SELECT product.produkt_name, shipping.shipping_date
FROM product
join product_order on product_order.fk_produkt_id=product.product_id
join invoice on invoice.fk_order_id=product_order.order_id
join shipping on shipping.fk_invoice_id=invoice.invoice_id
WHERE shipping.shipping_date BETWEEN '2019-01-01' AND '2021-12-31'

你也可以用另一种方法,从发货开始。这取决于你是否有很多货物。两个查询返回相同的结果。

SELECT product.produkt_name, shipping.shipping_date
from shipping
join invoice  on shipping.fk_invoice_id=invoice.invoice_id
join product_order on invoice.fk_order_id=product_order.order_id
join product on product_order.fk_produkt_id=product.product_id
WHERE shipping.shipping_date BETWEEN '2019-01-01' AND '2021-12-31'

相关内容

  • 没有找到相关文章

最新更新