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

Butuh bantuan lagi tentang bergabung dengan tabel

Alih-alih memfilter pada userid yang tepat, Anda harus memeriksa apakah pengguna terkait dengan masalah tersebut, seperti ini:

select
  t.title,
  group_concat(
    case when tu.type = 1 then 
      concat(u.firstname, ' ', u.lastname)
    end) as creator,
  t.priority,
  t.date,
  group_concat(
    case when tu.type = 2 then 
      concat(u.firstname, ' ', u.lastname)
    end SEPARATOR ' - ') as users
from
  tickets t
  inner join tickets_users tu on tu.ticketid = t.id
  inner join users u on u.id = tu.userid
where 
  exists (
    select 
      'x' 
    from 
      tickets_users tu2 
    where 
      tu2.ticketid = t.id and 
      tu2.userid = <youruserid> and 
      tu2.type = 1)
group by
  t.id;

Untuk <youruserid> anda dapat mengisi user id yang anda inginkan. Kueri ini akan mengembalikan semua masalah yang dilaporkan oleh pengguna tersebut (tipe =1). Namun untuk semua masalah tersebut, semua pengguna terkait tetap dikembalikan, jadi hasil kueri Anda masih lengkap.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SELECT * FROM tbl WHERE clm LIKE CONCAT('%',<other sql query LIMIT 1>,'%') - BAGAIMANA?

  2. Ekspor Database MySQL Atau MariaDB

  3. PEMBARUAN SQL dengan LIKE

  4. Bagaimana saya bisa membuat db mysql dengan penulisan Docker?

  5. Bagaimana cara mencari substring Soundex () di MySQL?