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

Cách xử lý nhiều liên kết

Viết lại dưới dạng UNION rất đơn giản, sao chép nguồn và xóa một trong các OR điều kiện ed trong mỗi:

SELECT 
   pending_corrections.corrected_plate , pending_corrections.seenDate
FROM
    (pending_corrections
    INNER JOIN cameras ON pending_corrections.camerauid = cameras.camera_id)
        INNER JOIN
    vehicle_vrn ON (pending_corrections.corrected_plate = vehicle_vrn.vrn500)
        INNER JOIN
    vehicle_ownership ON vehicle_vrn.fk_sysno = vehicle_ownership.fk_sysno
WHERE
    pending_corrections.seenDate >= '2015-01-01 00:00:00'
        AND pending_corrections.seenDate <= '2015-01-31 23:59:59'

union 

SELECT 
   pending_corrections.corrected_plate , pending_corrections.seenDate
FROM
    (pending_corrections
    INNER JOIN cameras ON pending_corrections.camerauid = cameras.camera_id)
        INNER JOIN
    vehicle_vrn ON pending_corrections.corrected_plate = vehicle_vrn.vrnno)
        INNER JOIN
    vehicle_ownership ON vehicle_vrn.fk_sysno = vehicle_ownership.fk_sysno
WHERE
    pending_corrections.seenDate >= '2015-01-01 00:00:00'
        AND pending_corrections.seenDate <= '2015-01-31 23:59:59'

ORDER BY 1,2;

Có chỉ mục trên pending_corrections.seenDate không ?



  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 Workbench không thể chọn khóa ngoại

  2. Các ký tự có dấu trong bảng mySQL

  3. Làm thế nào để json_encode mảng có dấu tiếng Pháp?

  4. Lỗi trong truy vấn MySQL (lỗi trong cú pháp SQL của bạn)

  5. Các trường Jooq LocalDateTime sử dụng múi giờ hệ thống thay vì múi giờ phiên