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

Sử dụng bí danh của một truy vấn để kết hợp với MySQL bảng khác

Bạn có thể tham gia kickscooter_control_units trên subquery của bạn việc sử dụng exists từ khóa thay vì IN.

select *
from rents r
where 
  exists 
  (select 1
     from support_works sw
     join kickscooters k on k.serial_number = sw.serial_number
     join kickscooter_control_units kcu on  kcu.kickscooter_id =  k.id and kcu.particle_product_id in (9358, 9383)   
     where
       sw.work_type = 'deploy' and
       (sw.updated_at between '2019-11-01 02:00:00' and '2019-11-01 10:00:00'))  

Có vẻ như dựa trên tình huống của bạn, bạn đang lọc ID . exists chỉ áp dụng nếu bạn muốn kiểm tra xem subquery nào đó chứa các giá trị.

 select *
    from rents r
    where 
      r.kickscooter_id in 
      (select k.id
         from support_works sw
         join kickscooters k on k.serial_number = sw.serial_number
         join kickscooter_control_units kcu on  kcu.kickscooter_id =  k.id and kcu.particle_product_id in (9358, 9383)   
         where
           sw.work_type = 'deploy' and
           (sw.updated_at between '2019-11-01 02:00:00' and '2019-11-01 10:00:00'))  



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django - Làm thế nào để liên kết với cơ sở dữ liệu kế thừa thông qua trung gian?

  2. Chuyển đổi hàng thành cột từ các bảng khác nhau (liên hợp) trong MySQL phiên bản 8.0.17 bằng cách sử dụng Pivot

  3. LOAD DATA INFILE dễ dàng chuyển đổi YYYYMMDD sang YYYY-MM-DD?

  4. django.db.utils.OperationalError:(2013, Mất kết nối với máy chủ MySQL lúc 'bắt tay:đọc gói giao tiếp i sinh dục', lỗi hệ thống:0)

  5. Chọn các từ ngẫu nhiên từ bảng