sql - how to fetch all data from one table in mysql? -
मेरे पास mysql डेटाबेस में टेबल हैं
a_ad_display
आईडी | एडआईडी | a_mediatype
आईडी | मीडियाआईडी 1 | एनीमेशन 2 | वीडियो 3 | छवि a_advertise <पूर्व> advId | MediatypeId | | संगठन आईआईडी अब मैं क्या चाहता हूं कि एड-आइडी के सभी रिकॉर्डों को एडआईडी की गणना के साथ मिलना है जो संगठन के साथ पंजीकृत है = "कुछ विशेष आईडी" तालिका में विज्ञापन और समूह को उनके मीडिया प्रकार।
मैंने इसे निम्नलिखित क्वेरी के साथ हासिल किया है ....
SELECT COUNT (a.advertiseId) कुल के रूप में, m.medianame FROM a_mediatype के रूप में मी JOIN a_advertise एक पर as.mediaTypeId = m.mediaId एक विज्ञापन पर ad.advId = a.advertiseId के रूप में जोड़ें, जहां a.organizationId में (चयन टी। संगठन की स्थापना से संगठन के रूप में एटीएस जॉइन संगठन के रूप में टी पर। पीआरटीईपीथ की तरह CONCAT (p.treePath , '%') जहां p.organizationId = '37423') ग्रुप द्वारा एम.मीडियामा लेकिन मेरी आउटपुट इस तरह आता है
medianame | गिनती एनीमेशन | 92 छवियां | 103 इसलिए इसका मतलब है कि एडीएडी में किसी विशेष ऑवनोनाइजिंग आईडी के साथ कोई वीडियो प्रकार नहीं है ...
लेकिन मुझे जो चाहना है वह इस प्रकार है: ।
मध्यकमान | गिनती एनीमेशन | 92 वीडियो | 0 छवियाँ | 103 इसका अर्थ है कि अगर विशेष मेडियोटाइप से कोई सलाह नहीं है तो यह भी दिखाता है कि 0 गणना के साथ आउटपुट में।
कोई भी मुझे इस दिशा में कुछ मार्गदर्शन दे सकता है समस्या?
मेरे एसकेएल बेला डेमो देखें
इसके बजाय LEFT JOIN का उपयोग करें: SELECT m.medianame, IFNULL (COUNT (ad.id), 0) ए_आईडियाटिप्प से कुल के रूप में मी बायाँ एक के रूप में a_advertise जोड़ें A.mediaTypeId = m.mediaId खाली एक विज्ञापन पर ad.advId = a.advId के रूप में जोड़ें। A.advId left.On_OnganizationId = o.organizationId LEFT JOIN organization_ AS p पर ओ.संस्थापनआईआईडी = पी। संगठन आईआईडी और पी। संगठनीकरण। = '37423' और ओ.टी.प्रैथ की तरह कनकैट (पी.टी.प्रैथ, '%') ग्रुप द्वारा एम.मीडियामा;
यह आपको देगा:
| MEDIANAME | कुल --------------------- | एनीमेशन | 13 | | छवि | 2 | | वीडियो | 0 |
Comments
Post a Comment