sql >> Database >  >> RDS >> Mysql

Alias ​​van een query gebruiken om deel te nemen aan een andere tabel MySQL

Je kunt lid worden van kickscooter_control_units op uw subquery het gebruik exists zoekwoord in plaats van 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'))  

Het lijkt erop dat u op basis van uw scenario de ID . filtert . exists alleen van toepassing als u wilt controleren of bepaalde subquery bevat waarden.

 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. mysql per geval gebruiken in slaapstandcriteria

  2. gem install:kan de native extensie van gem niet bouwen (kan header-bestanden niet vinden)

  3. `WHERE col IN` met benoemde parameters

  4. 1030 Kreeg fout 28 van opslagengine