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

SQL tự nối để trả về các hàng cụ thể

SELECT  mm.*, md.label AS standardized_label
FROM    mytable md
LEFT JOIN
        mytable mc
ON      mc.parent_element = md.id
        AND mc.client = @client
JOIN    mytable mm
ON      mm.id = COALESCE(mc.id, md.id)
WHERE   md.client IS NULL

Tạo chỉ mục trên (client, parent_element) để điều này hoạt động nhanh chóng.

Xem SQLFiddle .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay đổi thủ tục lưu trữ MySQL tên 'Đối chiếu cơ sở dữ liệu'

  2. Lưu trữ văn bản Mysql?

  3. Cách thêm nhiều lựa chọn hộp kiểm vào cơ sở dữ liệu của tôi bằng php

  4. Máy chủ gặp lỗi nội bộ hoặc định cấu hình sai và không thể hoàn thành yêu cầu của bạn

  5. làm thế nào để chọn một hàng trong đó một trong một số cột bằng một giá trị nhất định?