PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bergabunglah dengan Kolom Alias ​​​​SQL

'Tanggal' alias tidak terlihat dari sana.

Anda dapat menggunakan beberapa tabel setelah WITH, jadi saya sarankan Anda untuk memindahkan pilihan kedua di sana.

Saya tidak sepenuhnya yakin tentang struktur tabel weather.meso tetapi dengan menebak berdasarkan kueri Anda, ini akan berhasil:

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;

Seperti pada contoh pertama di sini https://www.postgresql.org/docs/8.4/static/queries-with.html




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat terhubung ke Postgres melalui PHP tetapi dapat terhubung dari baris perintah dan PgAdmin di mesin yang berbeda

  2. postgreSQL - dalam vs apa pun

  3. Bagaimana cara pg_dump database RDS Postgres?

  4. Ubah hex dalam representasi teks ke angka desimal

  5. KESALAHAN:izin ditolak untuk urutan city_id_seq menggunakan Postgres