Wpis z mikrobloga

Mirki, pomoże ktoś w #mssql #sql?

Mam tabelę:
|id|datastart|datakoniec|
|1|2020-01-24|2020-03-03|
|2|2020-03-12|2020-04-15|

a potrzebuje osiągnać:
|rok | miesiac | liczba start |liczba koniec | liczba start - koniec|
|2020 | 01 | 1 | 0 | 1 |
|2020 | 03 | 1 | 1 | 0 |
|2020 | 04 | 0 | 1 | -1 |
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@luke: select year(data) as year, month(data) as month, count(datastart) as datastart, count(datakoniec) as datakoniec, count(datastart)-count(datakoniec) as startkoniec from
(
select datastart as data, datastart, null as datakoniec
FROM table
union
select datakoniec as data, null as
  • Odpowiedz
@ostrykuc666: Dzięki, w międzyczasie dostałem odpowiedź też gdzie indziej i wydaje się, że działa poprawnie:

WITH dates (date) AS (
SELECT date_start FROM XYZ
UNION
SELECT date_end
  • Odpowiedz