1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
;WITH depart (id_depart, lib_depart) as
(select 1 , 'Paris' UNION ALL
select 2 , 'Bordeaux' UNION ALL
select 3 , 'Marseille' UNION ALL
select 4 , 'Lyon'),
liste(id_bie, id_depart, Heure_BIE) as (
select 1 , 1, 2016 UNION ALL
select 2 , 2, 2016 UNION ALL
select 3 , 2, 2017 UNION ALL
select 4 , 4, 2016)
select A.lib_depart, B.Heure_BIE, case WHEN C.Heure_BIE IS NOT NULL THEN 1 ELSE 0 END from depart A
cross join (select distinct Heure_BIE from liste) B
left join liste C on C.id_depart = A.id_depart and C.Heure_BIE = B.Heure_BIE
ORDER BY A.lib_depart, B.Heure_BIE |
Partager