sql >> Database >  >> RDS >> Oracle

Oracle SQL:Hoe lege weken / weken zonder gegevens weergeven?

Gebruik een gepartitioneerde outer join :

select data.id, weeks.weekend_day, nvl(value, 0) value
from
(
    select date '2012-01-01' weekend_day from dual union all
    select date '2012-01-08' weekend_day from dual union all
    select date '2012-01-15' weekend_day from dual
) weeks
left join
(
    select 'A00' id, date '2012-01-01' weekend_day, 1 value from dual union all
    select 'A00' id, date '2012-01-08' weekend_day, 7 value from dual union all
    select 'B00' id, date '2012-01-08' weekend_day, 4 value from dual union all
    select 'B00' id, date '2012-01-15' weekend_day, 3 value from dual
) data
    partition by (data.id)
    on weeks.weekend_day = data.weekend_day


  1. php pdo krijgt slechts één waarde van mysql; waarde die gelijk is aan variabele

  2. sql-query om tekst in alle rijen te zoeken en te vervangen

  3. Hoe krijg ik een telling, zelfs als er geen resultaten zijn die overeenkomen met mysql?

  4. SQL:rijen beperken die aan elke samengevoegde rij zijn gekoppeld