sql >> Databasteknik >  >> RDS >> Mysql

MySQL:Kapslad GROUP_CONCAT

Försök:

mysql> SELECT -> GROUP_CONCAT( -> CONCAT_WS('|||', 0, 1, -> GROUP_CONCAT(CONCAT_WS('|', 2, 3) SEPARATOR '||') -> ) -> ) `test`;ERROR 1111 (HY000):Ogiltig användning av gruppen functionmysql> SELECT -> GROUP_CONCAT( -> CONCAT_WS('|||', 0, 1, -> (SELECT GROUP_CONCAT(CONCAT_WS('|', 2, 3) SEPARATOR '||')) -> ) -> ) `test`;+------------+| test |+--------------+| 0|||1|||2|3 |+-------------+1 rad i set (0,00 sek) 

UPPDATERA

Ett möjligt alternativ:

mysql> SLIP TABELL OM FINNS `parts`, `labor`, `kits`;Fråga OK, 0 rader påverkade (0.00 sek)mysql> SKAPA TABELL `kits` ( -> `id` int(11) ) NOT NULL AUTO_INCREMENT, -> `kit_id` int(11) DEFAULT NULL, -> `is_quote` tinyint(4) NOT NULL DEFAULT '0', -> `name` varchar(45) DEFAULT NULL, -> `description` varchar(150) DEFAULT NULL, -> `quantity` varchar(45) DEFAULT NULL, -> PRIMARY KEY (`id`), -> UNIQUE KEY `id_UNIQUE` (`id`), -> KEY `KIT` (` kit_id`) -> );Fråga OK, 0 rader påverkade (0.00 sek)mysql> SKAPA TABELL `labor` ( -> `id` int(11) NOT NULL AUTO_INCREMENT, -> `kit_id` int(11) DEFAULT NULL, -> `is_quote` tinyint(4) NOT NULL DEFAULT '0', -> `description` varchar(150) NOT NULL, -> `hours` varchar(45) NOT NULL DEFAULT '0', -> PRIMARY KEY (` id`), -> UNIK KEY `id_UNIQUE` (`id`), -> KEY `KIT` (`kit_id`) -> );Fråga OK, 0 rader påverkade (0.00 sek)mysql> SKAPA TABELL `delar` ( -> `id` int(11) INTE NU LL AUTO_INCREMENT, -> `kit_id` int(11) DEFAULT NULL, -> `is_quote` tinyint(4) NOT NULL DEFAULT '0', -> `name` varchar(45) DEFAULT NULL, -> `description` varchar( 150) DEFAULT NULL, -> `sale_price` varchar(45) DEFAULT '0.00', -> `quantity` varchar(45) NOT NULL, -> PRIMARY KEY (`id`), -> UNIQUE KEY `id_UNIQUE` (` id`), -> KEY `KIT` (`kit_id`) -> );Fråga OK, 0 rader påverkade (0,00 sek)mysql> INSERT INTO `kits` -> (`id`, -> `kit_id`, -> `is_quote`, -> `name`, -> `description`, -> `quantity`) -> VALUES -> (1,0,0,"Main Kit", "Sample Description",1);Query OK , 1 rad påverkad (0,00 sek)mysql> INFOGA INTO `kits` -> (`id`, -> `kit_id`, -> `is_quote`, -> `name`, -> `description`, -> `quantity` `) -> VÄRDEN -> (2,1,0,"Kit inom kit", "Sample Description",1);Fråga OK, 1 rad påverkad (0,00 sek)mysql> INSERT INTO `parts` -> (`kit_id `, -> `is_quote`, -> `name`, -> `description`, -> `sale_price`, -> `kvantitet`) -> VÄRDEN -> (1,0,"First Kit Part", "Part description","23.5",1);Fråga OK, 1 rad påverkad (0.00 sek)mysql> INSERT INTO `parts ` -> (`kit_id`, -> `is_quote`, -> `name`, -> `description`, -> `sale_price`, -> `quantity`) -> VALUES -> (2,0,"Kit inom kit del 1", "Sample Part Description","23.5",1);Fråga OK, 1 rad påverkad (0.00 sek)mysql> INSERT INTO `parts` -> (`kit_id`, -> `is_quote`, -> `name`, -> `description`, -> `sale_price`, -> `quantity`) -> VALUES -> (2,0,"Set inom kit del 2", "Sample Part Description","23.5" ,1);Fråga OK, 1 rad påverkad (0,00 sek)mysql> INSERT INTO `labor` -> (`kit_id`, -> `is_quote`, -> `description`, -> `hours`) -> VALUES -> (1,0,"First Kit labor","1.5");Fråga OK, 1 rad påverkad (0.00 sek)mysql> INSERT INTO `labor` -> (`kit_id`, -> `is_quote`, -> ` beskrivning`, -> `timmar`) -> VÄRDEN -> (2,0,"Kit inom kit labor 1","1.5");Fråga OK, 1 rad påverkad (0.00 sec)mysql> INSERT INTO `labor` -> (`kit_id`, -> `is_quote`, -> `description`, -> `hours`) -> VALUES -> (2,0,"Kit inom kit labor 2 ","1.5"); Fråga OK, 1 rad påverkad (0,00 sek)mysql> SELECT kits.id, kits.is_quote, -> GROUP_CONCAT( -> CONCAT_WS('|||', kits_table.id, kits_table.name, -> (SELECT GROUP_CONCAT( -> CONCAT_WS('|', parts.id, parts.name) -> SEPARATOR '||') FRÅN delar WHERE parts.kit_id =kits_table.id), -> (SELECT GROUP_CONCAT( -> CONCAT_WS('|', labor.id, labor.description) -> SEPARATOR '||') FRÅN labor WHERE labor.kit_id =kits_table.id) -> ) -> SEPARATOR '|||' -> ) som kit , -> GROUP_CONCAT(CONCAT_WS('|', parts.id, parts.name) SEPARATOR '||') som delar, -> GROUP_CONCAT(CONCAT_WS('|', labor.id, labor.description) SEPARATOR '| ||') som arbetskraft -> FRÅN kit -> LEFT JOIN kits som kits_table ON kits_table .kit_id =kits.id -> VÄNSTER YTTRE JOIN delar PÅ parts.kit_id =kits.id -> VÄNSTER YTTRE JOIN labor ON labor.kit_id =kits.id -> WHERE kits.id =1 -> GROUP BY kits.id\ G**************************** 1. rad ******************** ******** id:1is_quote:0 kit:2|||Kit inom kit|||2|Kit inom kit del 1||3|Kit inom kit del 2|||2|Kit inom kit arbete 1||3|Kit inom satsarbete 2 delar:1|Första sats Delarbete:1|Första sats arbete1 rad i set (0,00 sek) 

UPPDATERING 2

mysql> SELECT kits.id, kits.is_quote, -> GROUP_CONCAT(DISTINCT -> CONCAT_WS('|||', kits_table.id, kits_table.name, -> (SELECT GROUP_CONCAT(DISTINCT -> CONCAT_WS ('|', parts.id, parts.name) -> SEPARATOR '||') FROM parts WHERE parts.kit_id =kits_table.id), -> (SELECT GROUP_CONCAT(DISTINCT -> CONCAT_WS('|', labor. id, labor.description) -> SEPARATOR '||') FROM labor WHERE labor.kit_id =kits_table.id) -> ) -> SEPARATOR '|||' -> ) som kit, -> GROUP_CONCAT(DISTINCT CONCAT_WS( '|', parts.id, parts.name) SEPARATOR '||') som delar, -> GROUP_CONCAT(DISTINCT CONCAT_WS('|', labor.id, labor.description) SEPARATOR '|||') som arbete -> FRÅN kit -> VÄNSTER JOIN-kit som kits_table ON kits_table.kit_id =kits.id -> VÄNSTER YTTRE JOIN-delar PÅ parts.kit_id =kits.id -> VÄNSTER YTTRE JOIN labor ON labor.kit_id =kits.id -> VAR kits.id =1 -> GRUPPER EFTER kits.id\G**************************** 1. rad *************** ************* id:1is_quote:0 kit:2|||Kit inom kit|||3|Kit inom kit del 1||4|Kit inom kit del 2|||3| Sats inom kit labor 1||4|Kit inom kit labor 2 delar:1|First Kit Part 1|||2|First Kit Del 2 labor:1|First Kit labor 1|||2|First Kit labor 21 rader in set (0,00 sek) 


  1. Hur testar jag i WiX om det finns en registernyckel (inte värde) för Oracle ODP.Net

  2. Importera MySQL-dump till PostgreSQL-databas

  3. Hur man får den sista dagen i månaden i Oracle

  4. Som skiftlägeskänslig i MySQL