我的系统有Order
和OrderLine
个表格。
我们可以考虑如下:
(请不要考虑语法部分。)
订单:
OrderId int(11) not null auto increment
customerId int(11)
orderdate datetime
...
订单行:
OrderId int(11)
productId int(11)
orderdate datetime
rate, total, ...
我需要一个提示/指针来在MySQL中编写一个查询,它可以给我orderdate
分组的订单和项目(订单行的一部分)的总数。换句话说,我需要一个查询,它可以显示来自两个不同的表(基本上是一些计数)的信息,这些表不是1:1(例如:在这种情况下,一个订单可以包含许多项)。我需要的只是计数。表之间的关系是OrderId
。但是,这与我无关,因为我需要查看OrderDate
并将它们分组到两个表中。
例如:
Date Orders Items
2015-08-10 4747 58729
2015-08-11 4822 47593
2015-08-12 5219 52842
到目前为止我所做的是这样的:
Select count(*) from order group by date(orderdate)
Select count(*) from orderline group by date(orderdate)
我也试过使用LEFT加入加入。但是,我无法得到理想的结果。
在单个选择中组合多个表的数据(主要是计数)的任何帮助都会对我有帮助。
如果您需要更多信息,请与我们联系。
答案 0 :(得分:0)
您需要使用subselect来计算订单行 - 如下所示:
select date(orderdate),count(*),
(select count(*) from OrderLine
where date(OrderLine.orderdate)=date(Order.orderdate))
from Order
group by date(orderdate);