SQL выберите столбцы, упорядоченные по запросу - PullRequest
0 голосов
/ 24 июня 2018

Я пробовал и гуглил все, что мог придумать, но я не смог найти ответ. У меня есть эта простая база данных

technicien

+------------------+------------+------+-----+
| Field            | Type       | Null | Key |
+------------------+------------+------+-----+
| employe id       | number(4)  | NO   | PRI |
| name             | char(11)   | NO   |     |
| salary           | int(11)    | NO   |     |
+------------------+------------+------+-----+

обслуживание

+------------------+------------+------+---------+
| Field            | Type       | Null | Key     |
+------------------+------------+------+---------+
| employe id       | number(4)  | NO   | foreign |
| IP               | char(11)   | NO   | foreign |
| maintenance_date | int(11)    | NO   |         |
+------------------+------------+------+---------+

pc

+------------------+------------+------+---------+
| Field            | Type       | Null | Key     |
+------------------+------------+------+---------+
| value            | number(4)  | NO   | foreign |
| IP               | char(11)   | NO   | PRI     |
| price            | int(11)    | NO   |         |
+------------------+------------+------+---------+

мне нужно показать имя, идентификатор и зарплату каждого technicien, который выполнил maintenance, упорядоченный по общему количеству произведенных техобслуживаний.

Ответы [ 2 ]

0 голосов
/ 24 июня 2018

Вам нужно ГРУППА по столбцам таблицы technicien и ЗАКАЗ по количеству обслуживание Задачи:

select t.*, count(0) cnt_maintenance
  from technicien t
  inner join maintenance m on ( t.employee_id = m.employee_id )
  inner join pc p on ( p.value = m.IP )
 group by t.employee_id, t.name, t.salary
 order by count(0);

Демонстрация SQL Fiddle

0 голосов
/ 24 июня 2018
SELECT technicien.name, technicien.employeId, technicien.salary
FROM technicien
INNER JOIN  maintenance
ON maintenance.employeId = technicien.employeId
INNER JOIN pc
ON maintenance.IP = pc.IP
ORDER BY COUNT(maintenance.maintenance_date)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...