यहाँ मेरी सरल एसक्यूएल प्रश्न ...किसी तालिका में प्रत्येक विदेशी-कुंजी आईडी के उदाहरणों की संख्या कैसे गिनें?
है मैं दो तालिकाओं है:
पुस्तकें
-------------------------------------------------------
| book_id | author | genre | price | publication_date |
-------------------------------------------------------
आदेश
------------------------------------
| order_id | customer_id | book_id |
------------------------------------
मैं एक प्रश्न है कि रिटर्न बनाने के लिए करना चाहते हैं:
--------------------------------------------------------------------------
| book_id | author | genre | price | publication_date | number_of_orders |
--------------------------------------------------------------------------
दूसरे शब्दों में, सभी पंक्तियों में पंक्तियों के साथ प्रत्येक कॉलम को 'number_of_orders' नामक गणना वाले कॉलम के साथ वापस करें जो ऑर्डर तालिका में प्रत्येक पुस्तक की संख्या की गणना करता है। । (एक किताब के आदेश तालिका में पुस्तक परिणाम सेट में सूचीबद्ध किया जाना चाहिए अब तक पाए जाते हैं नहीं होता है, लेकिन "number_of_orders" शून्य होना चाहिए
, मैं इस के साथ आ गया है:
SELECT
books.book_id,
books.author,
books.genre,
books.price,
books.publication_date,
count(*) as number_of_orders
from books
left join orders
on (books.book_id = orders.book_id)
group by
books.book_id,
books.author,
books.genre,
books.price,
books.publication_date
है कि लगभग सही है, लेकिन काफी नहीं है, क्योंकि "number_of_orders" 1 हो जाएगा, भले ही एक किताब के आदेश तालिका में सूचीबद्ध कभी नहीं किया गया है। इसके अलावा, एसक्यूएल के ज्ञान की मेरी कमी को देखते हुए, मैं इस यकीन क्वेरी बहुत अक्षम है।
इस प्रश्न को लिखने का सही तरीका क्या है? (इसके लायक होने के लिए, इसे MySQL पर काम करने की ज़रूरत है, इसलिए मैं किसी भी अन्य विक्रेता-विशिष्ट विशेषताओं का उपयोग नहीं कर सकता)।
अग्रिम धन्यवाद!
आपकी आखिरी बयान कुछ भ्रामक हो सकता है। जब COUNT डेटा डेटा एकत्र करता है तो COUNT फ़ंक्शन न्यूल मानों को अनदेखा करता है। कारण COUNT (*) गलत गिनती वापस कर रहा है क्योंकि इसकी एक विशिष्ट कॉलम की बजाय इसकी गिनती पंक्तियां हैं। बस ओपी –
के लिए स्पष्टीकरण देना चाहते हैं उत्तर, thx अद्यतन। – Fabio
@Fabio अन्य तालिका में संबंधित प्रविष्टियों की गिनती के लिए, यह विशेष प्रश्न क्या कहा जाता है? क्या इसका कोई अकादमिक नाम है? –