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

Har brug for hjælp igen til at deltage i borde

I stedet for at filtrere på et nøjagtigt bruger-id, bør du tjekke, om brugeren er relateret til problemet, sådan her:

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;

For du kan udfylde det bruger-id du ønsker. Denne forespørgsel returnerer alle problemer, der er rapporteret af den pågældende bruger (type =1). Men for alle disse problemer returneres stadig alle relaterede brugere, så dit forespørgselsresultat er stadig komplet.




  1. Hvordan kombinerer jeg resultaterne af to forespørgsler med bestilling?

  2. _gc_fusion_compression

  3. Hvorfor kan primærnøgle ikke indeholde null-værdier?

  4. Sådan testes min ad-hoc SQL med parametre i Postgres forespørgselsvindue