का उपयोग कर विभिन्न क्षेत्रों पर एकाधिक group_concat मैं इस तरह एक प्रश्न है:MySQL
SELECT product.id,
GROUP_CONCAT(image.id) AS images_id,
GROUP_CONCAT(image.title) AS images_title,
GROUP_CONCAT(facet.id) AS facets_id
...
GROUP BY product.id
और क्वेरी से काम करता है, लेकिन उम्मीद नहीं के रूप में, अगर मैं 5 पहलुओं और 1 छवि के साथ एक उत्पाद है (एक छवि लगता है क्योंकि आईडी = 7 के साथ), तो मुझे "images_id" में कुछ मिलता है:
"7,7,7,7,7"
यदि मेरे पास 2 छवियां (7 और 3) हैं तो मुझे कुछ मिलता है:
"7,7,7,7,7,3,3,3,3,3"
और पहलुओं में मैं की तरह कुछ मिलता है:
"8,7,6,5,4,8,7,6,5,4"
मुझे लगता है कि MySQL के विभिन्न के मिलन के कुछ प्रकार कर रही है क्वेरी द्वारा लौटाई गई पंक्तियां, और उसके बाद सबकुछ जोड़ना।
मेरे अपेक्षित परिणाम (पिछले उदाहरण के लिए) है:
images_id "7.3"
facets_id = "8,7,6,5,4"
मुझे लगता है कि प्राप्त कर सकते हैं = GROUP_CONCAT में DISTINCT का उपयोग करके, लेकिन फिर मुझे एक और समस्या है: यदि मेरे पास एक ही शीर्षक के साथ दो छवियां हैं, तो उनमें से एक ओमेटेड है, और फिर मुझे कुछ मिलता है:
images_id = "7,3,5"
images_title = "Title7and3, Title5"
तो मुझे images_id और images_title के बीच संबंध याद आती है।
क्या किसी को पता है कि यह क्वेरी MySQL में बनाना संभव है?
शायद मैं बिना किसी वास्तविक लाभ के सबकुछ जटिल कर रहा हूं। मैं केवल एक क्वेरी निष्पादित करने की कोशिश कर रहा हूं क्योंकि प्रदर्शन, लेकिन अब मुझे यकीन नहीं है कि यह दो प्रश्नों को निष्पादित करने के लिए तेज़ है (उदाहरण के लिए छवियों के लिए पहलुओं का चयन करने के लिए एक और दूसरा)।
कृपया बताएं कि आपको क्या लगता है और क्यों इसके लिए सबसे अच्छा समाधान है।
धन्यवाद!
मैं आपकी क्वेरी बहुत अच्छी तरह से समझ में नहीं आता है, लेकिन यह बहुत जटिल लग रहा है, मेरा मतलब है, हम एक subselect एक समूह के साथ द्वारा हर concat के लिए की जरूरत है? ऐसा लगता है कि कुछ धीमा है, तेज 2 प्रश्न नहीं है? – Enrique
@ एन्रिक, यह गति के बारे में नहीं है, यह शुद्धता के बारे में है। अगर मेरे कोड को वास्तव में काम करने की आवश्यकता नहीं है तो मैं तुरंत सबकुछ कर सकता हूं। – Johan
@Enrique, आप एक उप चयन हर समूह concat के लिए, केवल उन तालिकाओं जहां p.id के खिलाफ मैच से अधिक 1 पंक्ति रिटर्न p.id. प्रति के लिए की जरूरत नहीं है – Johan