Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Butuh bantuan dengan kueri MySQL ini. Menemukan pengguna yang tersedia pada waktu tertentu

select *
from users u    
where u.Assignable = 1
    and u.UserID not in (
       select UserID
       from Appointments a
         join TimeSlots t on a.TimeSlotID = t.TimeSlotID 
       where t.EndTime > now()
          and t.EndTime > @desiredStartTime
          and t.StartTime < @desiredEndTime
    )

edit Mengambil isyarat dari tandu

Saya pikir ini juga akan berhasil, dan memiliki manfaat kinerja tambahan tanpa subkueri:

select *
from users u    
    left join Appointments a on a.UserID = u.UserID
    left join TimeSlots t on (
    a.TimeSlotID = t.TimeSlotID 
       and t.EndTime > now()
       and t.EndTime > @desiredStartTime
       and t.StartTime < @desiredEndTime
    )
where 
    u.Assignable = 1
    and t.TimeSlotID is null


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. menghubungkan Java ke Mysql menggunakan Mysql-connector/j

  2. Menggabungkan kueri mysql yang mendaur ulang beberapa gabungan diri

  3. Cara memfilter tanggal menggunakan datetimepicker melalui database

  4. Apa pernyataan yang setara dari DBCC INPUTBUFFER(@@SPID)(yang memberikan pernyataan sql untuk koneksi saat ini atau koneksi yang ditentukan) di MYSQL?

  5. PERIKSA batasan di MySQL tidak berfungsi