sql >> Database teknologi >  >> RDS >> Mysql

Brug af alias for en forespørgsel til at forbinde med en anden tabel MySQL

Du kan tilmelde dig kickscooter_control_units på din subquery brugen exists søgeord i stedet for 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'))  

Baseret på dit scenario ser det ud til, at du filtrerer ID . exists kun relevant, hvis du vil kontrollere, om en bestemt subquery indeholder værdier.

 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. Spring Boot / JPA / mySQL - mange til en relation skaber for mange SQL-forespørgsler

  2. Undgå duplikerede id'er i PHP

  3. Sådan indsætter du værdi i identitetskolonne manuelt i SQL Server-tabel - SQL Server / T-SQL vejledning del 41

  4. Sådan returneres Unix-tidsstemplet i Oracle