sql >> データベース >  >> RDS >> PostgreSQL

エイリアス列SQLの結合

    「日付」エイリアスはそこからは見えません。

    WITHの後にいくつかのテーブルを使用できるので、2番目の選択をそこに移動することをお勧めします。

    Weather.mesoテーブルの構造については完全にはわかりませんが、クエリに基づいて推測することで、これは機能するはずです:

    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;
    

    ここの最初の例のようにhttps://www.postgresql.org/docs/8.4/static/queries-with.html




    1. TSQLで分数をhh:mm形式に変換するにはどうすればよいですか?

    2. MySQLのインストール:エラー:gemネイティブ拡張のビルドに失敗しました

    3. データベースおよびリレーショナルデータベース管理システム(RDBMS)とは

    4. 大規模なIMDBモデルを作成しようとしたときの失敗のトラブルシューティング