【发布时间】:2013-07-17 08:48:32
【问题描述】:
我正在尝试在一个查询中进行左连接,但似乎我在某处错了。
table machines
--------------
machineID
FaNo
Barcode
RoutingCode
Name
table log
-------------
logID
lineBarcode
machineBarcode
在日志表中有关于机器和线路的记录。一条生产线上可以有许多不同的机器和同一类型的机器。
机器类型是routingCode,所以我有兴趣选择该行中的所有机器并将它们分组。只有具有不同routingCode 的机器应该单独显示,我想获取每种类型机器的计数。
这是通过这种方式完成的。
SELECT routingcode, name, count(1)
FROM machines
JOIN log ON log.machinebarcode = machines.barcode
WHERE log.linebarcode = 100000000001
GROUP BY routingcode, name
好的,一切运行顺利,但是这样我只得到了在log 表中相关并且根据linebarcode 有记录的机器。
我认为如果我LEFT JOIN 日志表,我将从machines 表中获取所有机器并显示它们,当然只有在log 表中找到的机器将具有正确的count,但没有。
我在哪里弄错了,如何找到合适的解决方法?
【问题讨论】:
标签: sql-server join count group-by subquery