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

Làm thế nào để hợp nhất dữ liệu từ nhiều cột thành một? [Truy vấn mô hình danh sách gần kề]

Như bạn đã nói, bạn có thể sử dụng UNION qua kết quả truy vấn của bạn. Trong phần còn lại của câu trả lời, tôi sẽ chỉ cho bạn một giải pháp sử dụng CTE, đây là một cú pháp SQL tiêu chuẩn có sẵn trong nhiều hệ thống, nhưng rất tiếc, không có trong MySQL. Tuy nhiên, để chuyển đổi truy vấn này cho MySQL, bạn có thể xem câu trả lời sau: Bạn sử dụng mệnh đề" WITH "trong MySQL như thế nào?

WITH query AS (
  SELECT t1.categoryid AS lev1, t2.categoryid as lev2, t3.categoryid as lev3, t4.categoryid as lev4
  FROM category AS t1
  LEFT JOIN category AS t2 ON t2.parent = t1.categoryid
  LEFT JOIN category AS t3 ON t3.parent = t2.categoryid
  LEFT JOIN category AS t4 ON t4.parent = t3.categoryid
  WHERE t1.categoryid = 4149418031)
SELECT lev1 AS category_value FROM query
  UNION
SELECT lev2 AS category_value FROM query
  UNION
SELECT lev3 AS category_value FROM query
  UNION
SELECT lev4 AS category_value FROM query;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi liên kết truyền thông - gói cuối cùng nhận được thành công từ máy chủ là

  2. Vấn đề về bảng mã mysql trong PHP utf8

  3. MySQL LOAD_FILE trả về NULL

  4. Chỉ cập nhật Thời gian trong trường DateTime mysql

  5. Tham gia nhiều bảng để nhận các giá trị KHÔNG BẰNG NHAU trong MySQL