Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL:GROUP_CONCAT lồng nhau

Hãy thử:

  mysql> SELECT -> GROUP_CONCAT (-> CONCAT_WS ('|||', 0, 1, -> GROUP_CONCAT (CONCAT_WS ('|', 2, 3) SEPARATOR '||') ->) ->) `test`; ERROR 1111 (HY000):Sử dụng không hợp lệ nhóm functionmysql> SELECT -> GROUP_CONCAT (-> CONCAT_WS ('|||', 0, 1, -> (SELECT GROUP_CONCAT (CONCAT_WS ('|',)) 2, 3) BỘ RIÊNG '||')) ->) ->) `test`; + ------------- + | kiểm tra | + ------------- + | 0 ||| 1 ||| 2 | 3 | + ------------- + 1 hàng trong bộ (0,00 giây)  

CẬP NHẬT

Một lựa chọn khả thi:

  mysql> DROP TABLE IF TỒN TẠI `part`,` labour`, `kits`; Truy vấn OK, 0 hàng bị ảnh hưởng (0,00 giây) mysql> TẠO BẢNG` 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, -> `số lượng` varchar (45) DEFAULT NULL, -> PRIMARY KEY (` id`), -> UNIQUE KEY `id_UNIQUE` (` id`), -> KEY `KIT` (` kit_id`) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,00 giây) mysql> TẠO BẢNG `worker` (->` 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`), -> KEY DUY NHẤT `id_UNIQUE` (` id`), -> KEY `KIT` (` kit_id`) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,00 giây) mysql> TẠO BẢNG `part` ( -> `id` int (11) KHÔNG 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', ->` số lượng` varchar (45) NOT NULL, -> PRIMARY KEY (`id`), -> UNIQUE KEY` id_UNIQUE` (` id`), -> KEY `KIT` (` kit_id`) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,00 giây) mysql> CHÈN VÀO `kits` -> (` id`, -> `kit_id`, -> `là_quote`, ->` tên`, -> `mô tả`, ->` số lượng`) -> GIÁ TRỊ -> (1,0,0, "Bộ chính", "Mô tả mẫu", 1); Truy vấn OK , 1 hàng bị ảnh hưởng (0,00 giây) mysql> CHÈN VÀO `bộ dụng cụ` -> (` id`, -> `kit_id`, ->` is_quote`, -> `tên`, ->` mô tả`, -> `số lượng `) -> VALUES -> (2,1,0," Bộ dụng cụ trong bộ "," Mô tả mẫu ", 1); Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây) mysql> CHÈN VÀO` bộ phận` -> (`kit_id `, ->` is_quote`, -> `name`, ->` description`, -> `sale_price`, -> `số lượng`) -> GIÁ TRỊ -> (1,0," Phần bộ đầu tiên "," Mô tả phần "," 23,5 ", 1); Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây) mysql> CHÈN VÀO` phần `-> (` kit_id`, -> `is_quote`, ->` name`, -> `description`, ->` sale_price`, -> `số lượng`) -> VALUES -> (2,0," Kit trong kit part 1 "," Sample Part Description "," 23.5 ", 1); Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây) mysql> CHÈN VÀO` part` -> (`kit_id`, ->` is_quote`, -> `tên`, ->` mô tả`, -> `giá_giá`, ->` số lượng`) -> GIÁ TRỊ -> (2,0, "Bộ kit trong bộ phần 2", "Mô tả bộ phận mẫu", "23.5" , 1); Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây) mysql> CHÈN VÀO `lao động` -> (` kit_id`, -> `is_quote`, ->` description`, -> `giờ`) -> GIÁ TRỊ -> (1,0, "Công cụ đầu tiên", "1,5"); Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây) mysql> CHÈN VÀO `lao động` -> (` kit_id`, -> `is_quote`, ->` description`, -> `hours`) -> VALUES -> (2,0," Kit trong kit labour 1 "," 1,5 "); Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây) mysql> CHÈN VÀO `lao động` -> (` kit_id`, -> `is_quote`, ->` mô tả`, -> `giờ`) -> GIÁ TRỊ -> (2,0," Bộ công cụ trong bộ lao động 2 "," 1.5 "); Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây) mysql> SELECT kits.id, kits.is_quote, -> GROUP_CONCAT (-> CONCAT_WS ('|||', kits_table.id, kits_table.name, -> (CHỌN GROUP_CONCAT (-> CONCAT_WS ('|', part.id, part.name) -> SEPARATOR '||') TỪ các bộ phận WHERE part.kit_id =kits_table.id), -> (CHỌN GROUP_CONCAT (-> CONCAT_WS ('|', labour.id, labour.description) -> SEPARATOR '||') TỪ lao động WHERE lao động.kit_id =kits_table.id) ->) -> SEPARATOR '||||' ->) dưới dạng bộ dụng cụ , -> GROUP_CONCAT (CONCAT_WS ('|', part.id, part.name) SEPARATOR '|||') làm bộ phận, -> GROUP_CONCAT (CONCAT_WS ('|', labour.id, labour.description) SEPARATOR '| || ') dưới dạng lao động -> TỪ bộ dụng cụ -> THAM GIA TRÁI bộ dụng cụ dưới dạng kits_table TRÊN kits_table .kit_id =kits.id -> TRÁI OUTER THAM GIA các bộ phận TRÊN part.kit_id =kits.id -> TRÁI RA THAM GIA lao động VÀO lao động.kit_id =kits.id -> WHERE kits.id =1 -> NHÓM BẰNG kits.id \ G *************************** 1. hàng ******************* ******** id:1is_quote:0 kits:2 ||| Kit trong kit ||| 2 | Kit trong kit phần 1 || 3 | Kit trong kit phần 2 ||| 2 | Kit trong kit lao động 1 || 3 | Bộ công cụ trong bộ lao động 2 phần:1 | Bộ công cụ đầu tiên Phần lao động:1 | Bộ công cụ đầu tiên 1 hàng trong bộ (0,00 giây)  

CẬP NHẬT 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) ('|', part.id, part.name) -> SEPARATOR '||') TỪ các bộ phận WHERE part.kit_id =kits_table.id), -> (CHỌN GROUP_CONCAT (DISTINCT -> CONCAT_WS ('|', lao động). id, labour.description) -> SEPARATOR '||') TỪ lao động WHERE labour.kit_id =kits_table.id) ->) -> SEPARATOR '||||' ->) dưới dạng bộ dụng cụ, -> GROUP_CONCAT (DISTINCT CONCAT_WS ( '|', Parts.id, Parts.name) SEPARATOR '|||') dưới dạng các bộ phận, -> GROUP_CONCAT (DISTINCT CONCAT_WS ('|', labour.id, labour.description) SEPARATOR '|||') dưới dạng lao động -> TỪ bộ dụng cụ -> Bộ dụng cụ THAM GIA TRÁI dưới dạng kits_table TRÊN kits_table.kit_id =kits.id -> THAM GIA TRÁI bên ngoài các bộ phận TRÊN part.kit_id =kits.id -> ĐẦU RA TRÁI THAM GIA lao động TRÊN lao động.kit_id =kits.id -> ĐÂU kits.id =1 -> GROUP BY kits.id \ G *************************** 1. hàng *************** ************ id:1is_quote:0 bộ dụng cụ:2 ||| Bộ dụng cụ bên trong bộ ||| 3 | Bộ bên trong bộ phần 1 || 4 | Bộ bên trong bộ phần 2 ||| 3 | Bộ dụng cụ trong bộ lao động 1 || 4 | Bộ phụ kiện trong bộ lao động 2 phần:1 | Bộ đầu tiên Phần 1 ||| 2 | Bộ đầu tiên Phần 2 lao động:1 | Bộ đầu tiên lao động 1 ||| 2 | Bộ đầu tiên lao động 21 hàng trong đặt (0,00 giây)  


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự cố khi đọc / ghi dữ liệu UTF-8 trong MySQL từ Java bằng cách sử dụng trình kết nối JDBC 5.1

  2. MySQL:loại cột ưa thích cho giá (sản phẩm)?

  3. JSON_REPLACE () - Thay thế giá trị trong tài liệu JSON trong MySQL

  4. Có cách nào để biết tên người dùng hiện tại của bạn trong mysql không?

  5. Cài đặt các phiên bản gói cụ thể bằng pip