mysql - SQL join with aggregated data -
मेरे पास दो SQL टेबल हैं।
यूज़रर्स
आईडी | USERNAME 001 | टॉम 002 | जेन 003 | पीटर 004 | मैरिया उत्पादों
आईडी | PR_NAME | USERID 01 | ऐप्पल | 002 02 | नाशपाती | 001 03 | टमाटर | 002 04 | ऐप्पल | 003 05 | टमाटर | 001 06 | ऐप्पल | 001 अगर मैं "ऐप्पल" को किसी प्रपत्र / सूची / ऐप में चुनता हूं तो मुझे यह देखना है कि "एप्पल" किसने खरीदा है और कितने लोगों ने खरीदा है:
< कोड> USERID | USERNAME | NUM_PRODUCTS_BOUGHT 001 | टॉम | 3 002 | जेन | 2 003 | पीटर | 1 मैंने जो कोशिश की है
SELECT USERS.ID, USERS.USERNAME, COUNT (PRODUCTS.PR_NAME) के रूप में NUM_PRODUCTS_BOUGHT उपयोगकर्ताओं से उत्पाद पर छोड़ दिया गया उत्पाद शामिल हैं .USERID = USERS.ID WHERE PRODUCTS.PR_NAME = USERS.ID द्वारा "एप्पल" ग्रुप लेकिन यह मुझे NUM_ALL (1) जैसी गलत नंबरों की तरह देता है
< कोड> आईडी | USERNAME | NUM_PRODUCTS_BOUGHT 001 | टॉम | 1 002 | जेन | 1 003 | पीटर | 1 मैं इस परिणाम को 3 तरीके में प्राप्त कर सकता हूं लेकिन मुझे जो चाहिए वह नहीं मिल सकता।
मुझे लगता है कि आपको एक खंड की कोशिश करनी चाहिए मैं इस परीक्षण नहीं किया है, लेकिन यह काम करना चाहिए:
का चयन करें USERS.ID, USERS.USERNAME, COUNT (PRODUCTS.PR_NAME) NUM_PRODUCTS_BOUGHT रूप से उपयोगकर्ताओं को वाम PRODUCTS.USERID पर उत्पादों में शामिल हों = उपयोगकर्ताओं .आईआईडी ग्रुप द्वारा यूज़रर्स। आईडी होविंग एसयूएम (केस जब उत्पादों। पीआर_NAME = "ऐप्पल" तो 1 ELSE 0 END) & gt; 0
Comments
Post a Comment