Mysql
 sql >> база данни >  >> RDS >> Mysql

Отново имам нужда от помощ относно свързването на маси

Вместо да филтрирате по точен потребителски идентификатор, трябва да проверите дали потребителят е свързан с проблема, както следва:

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;

За <youruserid> можете да попълните потребителския идентификатор, който искате. Тази заявка ще върне всички проблеми, докладвани от този потребител (тип =1). Но за всички тези проблеми все още се връщат всички свързани потребители, така че резултатът от заявката ви все още е завършен.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да импортирам данни в mysql база данни чрез mysql работна маса?

  2. Къде да съхранявате MySQL идентификационни данни в PHP скриптове?

  3. Mysql има ли еквивалента на аналитичните функции на Oracle?

  4. php pdo получава само една стойност от mysql; стойност, равна на променлива

  5. Конвертирайте MySQL в XML чрез PHP