У меня есть 2 таблицы, customer
и tickets
SQL выбора из нескольких таблиц и упорядочения определенных условий
Я хочу, чтобы иметь возможность выбрать из таблицы билетов и порядка:
tickets.priority
затем customer.category_priority
затем tickets.queue_time
у меня есть этот запрос:
SELECT t.*
from tickets t
JOIN customer c ON t.company = c.sequence
WHERE t.status <> 'Completed' AND t.queue = 'Y'
ORDER BY field(t.priority, 'Critical', 'High', 'Medium', 'Low'), t.queue_time ASC
WHI ч отлично работает для tickets.priority
и tickets.queue_time
, но им не уверен, как включить customer.category_priority
поэтому в таблице клиентов, у меня есть столбцы с именами, как:
priority_computers
priority_telephone
priority_software
все INT поля и имеют значение 0, 1 или 2
строки в tickets
имеет category
столбец, который является либо Computers
, Telephone
или Software
и т. Д., Что нужно связать с приведенным выше.
так, если строка клиент имеет priority_computers
2 и tickets
строки category = 'Computers'
, что будет в верхней части списка, так как запись клиента имеет приоритет 2
и было бы также включить еще и другие ORDER BY
условий
Примеры:
Клиенты:
priority_computers- Компания A = 1
- Компания B priority_computers = 2
- Компания C priority_computers = 3
Пример Один:
- билетов 1 Компания Приоритет = средний = категория Компьютеры queue_time = 2015-11-20 08:00
- Билет 2 Компания B приоритет = Средняя категория = Компьютеры queue_time = 2015-11-20 10:00:00
- Билет 3 Компания C приоритет у = средняя категория = Компьютеры queue_time = 2015-11-20 08:30:00
Это должно выводиться в следующем порядке:
- Ticket 3
- Билет 2
- билетов 1
Пример 2:
- Билет 1 Компания Приоритет B = высокая категория = Компьютеры
queue_time = 2015-11-20 12:00 - Билет 2 Компания Приоритет = средняя категория = Компьютеры queue_time = 2015-11-20 7:00: 00
- билет 3 Компания C приоритет = средняя категория = Компьютеры queue_time = 2015-11-20 07:00:00
Это должно выводиться в следующем порядке:
- Билет 1
- Билет 3
- Билет 2
Можете ли вы предоставить образцы данных и ожидаемый результат? –
проверить мое обновление, дайте несколько примеров фиктивных данных, которые, я надеюсь, помогут – charlie
Так что есть только один клиент за билет? ('JOIN customer c ON t.company = c.sequence' немного запутан, тогда я бы ожидал, что это будет« JOIN customer c ON t.customer_id = c.customer_id'). Или может быть больше клиентов за один билет? Если да, то как с этим бороться? –