1

我有两张桌子:

table machines
-------------- 
machineID
FaNo
Barcode
RoutingCode
Name


table log
-------------
logID
lineBarcode
machineBarcode

所以,我试图通过指定的东西来选择所有log机器lineBarcode

SELECT * FROM machines JOIN log ON log.machinebarcode = machines.barcode WHERE log.linebarcode = 100000000001

有一些记录machines相同routingCode,这意味着它们是相同的模型。
我怎样才能到那里单独计数?
我的意思是我需要得到类似的东西

Result
---------------------------------------
RoutingCode     Name          Count

B4            Machine1         10
C8            Machine21         7
D1            Machine12        43

因此,没有分组的查询将有 50 条记录作为回报,想法是通过 routingCode 对它们进行分组并从查询中获取它们的计数。
这可能吗?如果是怎么回事?:)

4

2 回答 2

3
SELECT routingcode, name, count(1)
FROM machines 
LEFT OUTER JOIN log ON log.machinebarcode = machines.barcode
WHERE (log.linebarcode = 100000000001) OR (log.linebarcode is null)
GROUP BY routingcode, name
于 2013-07-16T13:23:05.740 回答
0
SELECT RoutingCode, Name, COUNT(logID) AS 'Count'
FROM machine
JOIN log ON log.machinebarcode = machine.barcode
WHERE log.lineBarcode = 100000000001
GROUP BY RoutingCode, Name

这会给你你想要的结果。

祝你好运*

于 2013-07-16T13:41:27.000 回答