मुझे mysql में तीन तालिकाओं में शामिल होने में समस्या है।mysql में कई तालिकाओं में एकाधिक से जुड़ने के लिए कैसे छोड़ा जाए?
कहते हैं कि हम एक मेज posts
जो मैं इसमें मेरी प्रविष्टियों रखने नामित देता है, मैं एक मेज likes
जो मैं user_id की और post_id की दुकान में और एक तिहाई तालिका comments
जो मैं इसे में user_id की और post_id की और टिप्पणी के पाठ की दुकान नामित नामित किया है ।
मुझे एक ऐसी क्वेरी की आवश्यकता है जो प्रत्येक प्रविष्टि के लिए पसंद और टिप्पणियों की संख्या के साथ मेरी प्रविष्टियों की सूची लाए। इस क्वेरी का उपयोग
इम:
SELECT posts.id, count(comments.id) as total_comments, count(likes.id) as total_likes
FROM `posts`
LEFT OUTER JOIN comments ON comments.post_id = posts.id
LEFT OUTER JOIN likes ON likes.post_id = posts.id
GROUP BY posts.id
लेकिन वहाँ इस क्वेरी के साथ एक समस्या है, अगर टिप्पणियां किसी आइटम के लिए खाली हैं, पसंद करती गिनती बस ठीक है, लेकिन कहते हैं कि एक प्रविष्टि 2 टिप्पणियाँ और 4 है तो देता है पसंद है, कुल_कॉममेंट्स और कुल_लिक्स दोनों "8" होंगे, जिसका अर्थ है कि mysql उन्हें गुणा करता है। मैं उलझन में हूं और मुझे नहीं पता कि मैं क्या कर सकता हूं।
सलाह में धन्यवाद।
धन्यवाद, एक आकर्षण की तरह काम किया। – Sallar