मैं दो अलग-अलग तालिकाओं से उत्पाद का नाम और इसकी बिक्री की संख्या प्राप्त करने का प्रयास कर रहा हूं।COUNT क्लास में SQL केस विवरण
मेरे टेबल कुछ इस तरह दिखाई:
BOOK
Book_ID | Book_Title | Book_Author
SOLD
Transaction_ID | Book_ID | Customer_ID
मैं परिणाम के सबसे निम्न क्वेरी
SELECT b.Book_Title, COUNT(s.Book_ID) FROM Book b, Sold s
WHERE b.Book_ID = s.Book_ID
GROUP BY b.Book_Title;
हालांकि से मैं चाहता हूँ प्राप्त कर सकते हैं, कम से कम एक बिक्री के साथ यह केवल प्रदर्शित करता है उत्पादों। मैं सभी उत्पादों को प्रदर्शित करना चाहता हूं, अगर कोई बिक्री नहीं हुई है तो बस शून्य दिखा रहा है। मैं चारों ओर कुछ इस तरह के साथ खिलवाड़ किया गया है:
SELECT b.Book_Title,
COUNT(CASE WHEN s.Book_ID IS NULL THEN 0 ELSE s.Book_ID END)
FROM Book b, Sold s WHERE b.Book_ID = s.Book_ID GROUP BY Book_Title;
लेकिन WHERE
खंड 1 या अधिक की बिक्री के साथ लोगों के लिए परिणामों को सीमित कर रहा है।
क्या कोई इस के आसपास एक तरीका सुझा सकता है? मैं ओरेकल 10 जी का उपयोग कर रहा हूँ।
धन्यवाद
धन्यवाद, यह काम किया है :) –
ध्यान दें कि COUNT() वास्तव में गैर-शून्य मानों की संख्या की गणना कर रहा है, यही कारण है कि यह काम करता है। –