1つのクエリで左結合をしようとしていますが、どこか間違っているようです。
table machines
--------------
machineID
FaNo
Barcode
RoutingCode
Name
table log
-------------
logID
lineBarcode
machineBarcode
ログ テーブルには、マシンとラインに関するレコードがあります。1 つのラインには、同じタイプのさまざまなマシンやマシンが多数存在する可能性があります。
マシン タイプは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