Я хотел бы выполнить левое соединение с той же таблицей (лицензией), которое дает мне только лицензии, у которых нет записей в объединенной таблице.Но я не могу получить никакого результата: - (
Вот запрос (довольно простой на самом деле):
SELECT L1.licence_type, count(L1.id) as nb_licences FROM licence L1
left JOIN licence L2 ON (L2.licence_number = L1.licence_number )
where L2.season = L1.season and L2.league_id <> L1.league_id and L2.id IS NULL
GROUP BY L1.licence_type
Идея состоит в том, чтобы получить только те лицензии, которые изменились в лиге вв том же году (я специально пропустил условие года, чтобы упростить запрос).
Любая идея будет оценена.
Как подсказывает https://stackoverflow.com/users/236345/alfabravo,, вот моя структура:
CREATE TABLE IF NOT EXISTS `licence` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`user_id` int(10) UNSIGNED DEFAULT NULL,
`association_id` int(10) UNSIGNED DEFAULT NULL,
`league_id` int(10) UNSIGNED DEFAULT NULL,
`season` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL,
`date_creation` datetime NOT NULL,
`licence_number` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`licence_type` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
`active` tinyint(1) DEFAULT NULL,
`date_validation` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
)
Что касается licence_type (чтобы задать https://stackoverflow.com/users/1144035/gordon-linoff),, то это просто тип, такой как "соревнование" или "тренировка" и т. Д. *