Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL:नेस्टेड GROUP_CONCAT

कोशिश करें:

mysql> चुनें -> GROUP_CONCAT( -> CONCAT_WS('|||', 0, 1, -> GROUP_CONCAT(CONCAT_WS('|', 2, 3) SEPARATOR '||') -> ) -> ) `परीक्षण`;त्रुटि 1111 (HY000):समूह समारोह का अमान्य उपयोगmysql> चयन -> GROUP_CONCAT( -> CONCAT_WS('|||', 0, 1, -> (चयन GROUP_CONCAT(CONCAT_WS('|', 2, 3) SEPARATOR '||')) -> ) -> ) `टेस्ट`;+-------------+| टेस्ट |+---------------+| 0||1|||2|3 |+-------------+1 पंक्ति में सेट (0,00 सेकंड) 

अपडेट करें

एक संभावित विकल्प:

mysql> ड्रॉप टेबल अगर मौजूद है तो `पार्ट्स`, `लेबर`, `किट्स` क्वेरी ठीक है, 0 पंक्तियां प्रभावित हैं (0.00 सेकंड)mysql> टेबल `किट्स` बनाएं ( -> `id` int(11 ) नॉट न्यूल AUTO_INCREMENT, -> `kit_id` int(11) DEFAULT NULL, ->`is_quote` tinyint(4) NOT NULL DEFAULT '0', -> `name` varchar(45) DEFAULT NULL, -> `विवरण` varchar(150) DEFAULT NULL, -> `मात्रा` varchar(45) DEFAULT NULL, -> प्राथमिक कुंजी (`id`), -> अद्वितीय कुंजी `id_UNIQUE` (`id`), -> कुंजी `किट` (` Kit_id`) -> );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित हुई हैं (0.00 सेकंड)mysql> टेबल बनाएं `लेबर` (->`id` int(11) NOT NULL AUTO_INCREMENT, ->`kit_id` int(11) DEFAULT NULL, -> `is_quote` टिनींट (4) नॉट डिफॉल्ट '0', -> `विवरण` वर्कर (150) नॉट न्यूल, -> `घंटे' वर्कर (45) नॉट डिफॉल्ट '0', -> प्राथमिक कुंजी (` id`), -> अद्वितीय कुंजी `id_UNIQUE` (`id`), -> कुंजी `किट` (`kit_id`) -> ); क्वेरी ठीक है, 0 पंक्तियां प्रभावित (0.00 सेकंड) mysql> तालिका `पार्ट्स` बनाएं ( -> `id` int(11) एनयू नहीं LL AUTO_INCREMENT, -> `kit_id` int(11) DEFAULT NULL, ->`is_quote` tinyint(4) NOT NULL DEFAULT '0', -> `name` varchar(45) DEFAULT NULL, -> `विवरण` varchar( 150) डिफ़ॉल्ट शून्य, -> `sale_price` varchar(45) डिफ़ॉल्ट '0.00', -> `मात्रा` varchar(45) शून्य नहीं, -> प्राथमिक कुंजी (`id`), -> अद्वितीय कुंजी `id_UNIQUE` (` id`), -> KEY `KIT` (`kit_id`) -> );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)mysql> INSERT INTO `किट्स` -> (`id`, -> `kit_id`, -> `is_quote`, -> `नाम`, -> `विवरण`, -> `मात्रा` -> मान -> (1,0,0,"मुख्य किट", "नमूना विवरण",1); क्वेरी ठीक , 1 पंक्ति प्रभावित (0.00 सेकंड)mysql> INSERT INTO `किट` -> (`id`, -> `kit_id`, -> `is_quote`, -> `name`, -> `विवरण`, -> `मात्रा `) -> मान -> (2,1,0,"किट के भीतर किट", "नमूना विवरण", 1); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 सेकंड) mysql> 'भागों' में सम्मिलित करें -> (`kit_id `, -> `is_quote`, -> `नाम`, -> `विवरण`, -> `sale_price`, -> `मात्रा`) -> मान -> (1,0,"प्रथम किट भाग", "भाग विवरण", "23.5",1); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 सेकंड) mysql> 'भागों में सम्मिलित करें ` -> (`kit_id`, -> `is_quote`, -> `नाम`, -> `विवरण`, -> `sale_price`, -> `मात्रा`) -> मान -> (2,0," किट किट भाग 1 के भीतर", "नमूना भाग विवरण", "23.5", 1); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 सेकंड) mysql> 'भागों' में सम्मिलित करें -> (`kit_id`, -> `is_quote`, -> `नाम`, -> `विवरण`, -> `sale_price`, -> `मात्रा`) -> मान -> (2,0,"किट भाग 2 के भीतर किट", "नमूना भाग विवरण", "23.5" ,1);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 सेकंड)mysql> INSERT INTO` श्रम` -> (`kit_id`, -> `is_quote`, -> `विवरण`, -> `घंटे`) -> मान -> (1,0, "फर्स्ट किट लेबर", "1.5"); क्वेरी ओके, 1 पंक्ति प्रभावित (0.00 सेकंड) mysql> INSERT INTO `labor` -> (`kit_id`, -> `is_quote`, -> ` विवरण`, -> `घंटे`) -> मान -> (2,0,"किट श्रम 1 के भीतर किट", "1.5"); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 sec)mysql> INSERT INTO` श्रम` -> (`kit_id`, -> `is_quote`, -> `विवरण`, -> `घंटे`) -> VALUES -> (2,0,"किट लेबर 2 के भीतर किट ","1.5");क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 सेकंड)mysql> सेलेक्ट Kit.id, Kits.is_quote, -> GROUP_CONCAT( -> CONCAT_WS('|||', kit_table.id, kit_table.name, -> (GROUP_CONCAT चुनें (-> CONCAT_WS('|', part.id, part.name) -> SEPARATOR '||') उन हिस्सों से जहां part.kit_id =Kit_table.id), -> (GROUP_CONCAT( -> चुनें) CONCAT_WS('|', श्रम.आईडी, श्रम.विवरण) -> SEPARATOR '||') श्रम से जहां श्रम.kit_id =kit_table.id) -> ) -> SEPARATOR '||||' -> ) किट के रूप में , -> GROUP_CONCAT(CONCAT_WS('|', part.id, part.name) SEPARATOR '|||') भागों के रूप में, -> GROUP_CONCAT(CONCAT_WS('|', श्रम.आईडी, श्रम.विवरण) SEPARATOR '| ||') श्रम के रूप में -> किट से -> किट_टेबल पर किट_टेबल के रूप में बाएं जॉइन किट .kit_id =Kits.id -> बाएँ बाहरी भागों में शामिल हों। Kit_id =Kits.id -> बाएँ बाहरी श्रम पर शामिल हों। जी ************* 1. पंक्ति ******** ******** आईडी:1is_quote:0 किट:2|||किट के भीतर किट|||2|किट भाग 1 के भीतर किट||3|किट भाग 2 के भीतर किट|||2|किट श्रम के भीतर किट 1||3|किट लेबर के भीतर किट 2 भाग:1|पहला किट पार्ट लेबर:1|पहली किट लेबर1 पंक्ति में सेट (0.00 सेकंड) 

अपडेट 2

mysql> सेलेक्ट Kit.id, Kits.is_quote, -> GROUP_CONCAT(DISTINCT -> CONCAT_WS('|||', kit_table.id, kit_table.name, -> (चुनें GROUP_CONCAT(DISTINCT -> CONCAT_WS) ('|', part.id, part.name) -> SEPARATOR '||') उन हिस्सों से जहां part.kit_id =kit_table.id), -> (GROUP_CONCAT(DISTINCT -> CONCAT_WS('|', श्रम चुनें।) आईडी, श्रम.विवरण) -> SEPARATOR '||') श्रम से जहां श्रम.kit_id =kit_table.id) -> ) -> SEPARATOR '||||' -> ) किट के रूप में, -> GROUP_CONCAT(DISTINCT CONCAT_WS( '|', part.id, part.name) SEPARATOR '|||') भागों के रूप में, -> GROUP_CONCAT(DISTINCT CONCAT_WS('|', श्रम.आईडी, श्रम.विवरण) SEPARATOR '|||') श्रम के रूप में -> किट से -> किट_टेबल के रूप में किट_टेबल के रूप में किट_टेबल.किट_आईडी =किट.आईडी -> बाएं बाहरी भागों में शामिल हों। किट_आईडी =किट। आईडी -> बाएं बाहरी श्रम पर श्रम में शामिल हों। किट_आईडी =किट। आईडी -> कहां Kit.id =1 -> ग्रुप बाय Kits.id\G************* 1. पंक्ति *************** ************ आईडी:1is_quote:0 किट:2|||किट के भीतर किट|||3|किट भाग 1 के भीतर किट||4|किट भाग 2 के भीतर किट|||3| किट लेबर 1 के भीतर किट सेट (0,00 सेकंड) 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में SUM (NULL) को समझना

  2. वेबपेजों के अंदर सत्र का उपयोग कैसे करें?

  3. दिनांक स्ट्रिंग को mysql डेटाटाइम फ़ील्ड में बदलें

  4. phpMyAdmin - त्रुटि> गलत प्रारूप पैरामीटर?

  5. Mysql सीमा के साथ सभी पंक्तियों को पुनः प्राप्त करता है