database - mysql: return multiple csv columns from joins -
मेरे पास यह प्रश्न है:
SELECT * FROM 'test` टी छोड़ दिया' परिणाम `आर ओ आर r.test_id = t.id LEFT JOIN` पैरामीटर` पी पर p.test_id = t.id जो देता है:
आईडी का नाम आईडी test_id विवरण आईडी test_id नाम 1 परीक्षण w / o पैरामीटर 1 1 पहला परिणाम नल नल नल 1 टेस्ट w / o पैरामीटर 2 1 दूसरा परिणाम नेल नेल नल 2 परीक्षा w / पैरामीटर शून्य नल 1 2 कमांड लाइन 2 टेस्ट w / पैरामीटर NULL NULL NULL 2 2 userid मुझे जो लौटाना चाहते हैं वह है: <पूर्व> आईडी का नाम पैरामीटर पैरामीटर 1 परीक्षण w / o पैरामीटर प्रथम परिणाम, दूसरा परिणाम NULL 2 test w / paramters NULL कमांड_लाइन, यूजरआइड मैंने काम करने के लिए GROUP_CONCAT प्राप्त करने की कोशिश की है लेकिन नल निकाल दिए गए हैं क्या गड़बड़ी को वापस करने के लिए GROUP_CONCAT को मनाने का कोई तरीका है?
मैं वास्तव में क्या करना चाहता हूं, ऐसा कुछ है लेकिन यह सब गलत है:
SELECT *, group_concat (R.description), group_concat (p.name) से `परीक्षण` टी में आर छोड़ दिया गया है, r.test_id = t.id पर` परिणाम `आर छोड़ें,` पैरामीटर` पृष्ठ में p.test_id = t.id / पूर्व> यह गैर-नल पंक्तियां लौटाता है:
SELECT *, group_concat (r.description) से `टेस्ट` से निकलते हैं, परिणामस्वरूप` आर 'पर r.test_id = t .id LEFT JOIN `पैरामीटर` पृष्ठ p.test_id = t.id पर
यह संभवत: एक सबक्व्यरी में पहली बार मूल्यों को एकत्र करना आसान होगा, और फिर उन्हें मूल तालिका () में शामिल करें:
SELECT t.id, t.name, r.results, p `टेस्ट` से मापदंडों को छोड़ें (test_id, group_concat (परिणाम) test_id द्वारा` परिणाम` समूह से परिणाम चुनें) आरटीईटी_आईडी = टीडीआईडी पर आरएफआईटीआईआईडी = टीडीआईडी (पैरामीटर से 'test_id, group_concat (नाम) पैरामीटर चुनें) पी समूह द्वारा test_id) पी पर पी St_id = t.id; परिणाम:
| आईडी | NAME | परिणाम | पैरामीटर | -------------------------------------------------- ------------------------------------- | 1 | परीक्षण w / o पैरामीटर | पहला परिणाम, दूसरा परिणाम | (नल) | | 2 | परीक्षण w / पैरामीटर | (नल) | कमांड_लाइन, यूजर आईडी |
Comments
Post a Comment