में शामिल हो गया है, मैं एक प्रश्न में बाएं शामिल होने की कोशिश कर रहा हूं, लेकिन ऐसा लगता है कि मैं कहीं गलत हूं।एसक्यूएल सर्वर
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
होगी, लेकिन नहीं।
मैं कहां गलत कर रहा हूं और उचित कार्यवाही कैसे ढूंढूं?
धन्यवाद! मुझे नहीं पता था कि मैं शामिल होने पर कई स्थितियां डाल सकता हूं। :) –