我尝试过内连接,交叉连接和选择右内连接,我似乎无法实现我想要显示的内容。
我有一张像这样的桌子
Content
------------
|ID |
|PalletID |
|ProductID |
|DateIn |
------------
我附上了一个带有样本数据集的图像以及我想要实现的结果。欢迎任何帮助,因为我已经坚持了几个小时。
由于
答案 0 :(得分:5)
我认为一个简单的COUNT
和GROUP BY
对您有用:
SELECT DateIn, ProductID, COUNT(*) [No. Of Pallets]
FROM Content
GROUP BY DateIn, ProductID
或者,如果您有另一个存储产品名称的表,则可能需要以下内容:
SELECT DateIn, ProdName, COUNT(*) [No. Of Pallets]
FROM Content
INNER JOIN Product
ON Product.ProductID = Content.ProductID
GROUP BY DateIn, ProdName
答案 1 :(得分:0)
这是一个如下的查询:
select DateIn, ProductId, count(*) as NumPallets
from Content
group by DateIn, ProductId
order by ProductId, DateIn
我假设您的DateIn字段实际上是一个日期字段(如果您不需要转换)。
您在绘图中说了ProductName,但是在表定义中给出了productId。我认为它们是一样的。如果没有,那么您需要添加额外的联接来解析Id - >名。
答案 2 :(得分:0)
尝试,
SELECT DateIn, ProductID, COUNT(1) AS NoOfPallets
FROM Content
GROUP BY DateIn, ProductID
ORDER By DateIn, ProductID
答案 3 :(得分:0)
GROUP BY
怎么样?
select DateIn
, ProductID
, No_Of_Pallets=COUNT(*)
from Content
group by DateIn, ProductID