sql >> Databáze >  >> RDS >> PostgreSQL

Připojte se k Alias ​​Columns SQL

Přezdívka 'Datum' odtud není vidět.

Po WITH můžete použít několik tabulek, takže vám poradím přesunout druhý výběr tam.

Nejsem si úplně jistý strukturou tabulky weather.meso, ale podle odhadu na základě vašeho dotazu by to mělo fungovat:

WITH
    forecast_prep AS (
        SELECT
              date_trunc('day', foretime) :: DATE AS Foredate,
              extract(HOUR FROM foretime) + 1     AS foreHE,
              lat,
              lon,
              max(windspeed) as windspeed,
              max(as_of)                          AS as_of
        FROM weather.forecast
        WHERE date_trunc('day', foretime) :: DATE - as_of >= INTERVAL '16 hours'
        GROUP BY Foredate, foreHE, lat, lon
   ),
   tmp AS (
      SELECT
        meso.station,
        meso.lat,
        meso.lon,
        meso.timestmp,
        date_trunc('day', meso.timestmp) :: DATE  AS Date,
        extract(HOUR FROM meso.timestmp) + 1      AS HE,
        CAST(AVG(meso.windspd) AS NUMERIC(19, 2)) AS Actual
      FROM weather.meso
      GROUP BY station, lat, lon, timestmp, Date, HE
   )
SELECT 
    tmp.station, tmp.Date, tmp.HE, tmp.Actual, forecast_prep.windspeed, forecast_prep.as_of
FROM tmp
INNER JOIN forecast_prep ON (
    tmp.lat = forecast_prep.lat 
    AND tmp.lon = forecast_prep.lon 
    AND tmp.Date = forecast_prep.Foredate
    AND tmp.HE = forecast_prep.foreHE
)
WHERE 
    (tmp.timestmp BETWEEN '2016-02-01' AND '2016-02-02') 
    AND (tmp.station = 'KSBN')
GROUP BY 
    tmp.station, tmp.Date, tmp.HE, forecast_prep.windspeed, forecast_prep.as_of, tmp.Actual
ORDER BY tmp.Date, tmp.HE ASC;

Jako v prvním příkladu přímo zde https://www.postgresql.org/docs/8.4/static/queries-with.html




  1. Uložit výsledky dotazu SQLite do textového souboru

  2. Chyba instalace mysql-python:Nelze otevřít začleněný soubor 'config-win.h'

  3. Jak vytvořit pole JSON z databáze mysql

  4. Alfanumerické řazení pomocí PostgreSQL