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

postgres列エイリアスの問題

    PostgreSQLでは、エイリアス付きの式を順番に使用することはできません。そこではプレーンエイリアスのみが機能します。クエリは次のようになります:

       select distinct 
              l2.*, 
              l.user_id as l_user_id, 
              l.geopoint_id as l_geopoint_id 
         from locations l 
    left join locations l2 on l.geopoint_id = l2.geopoint_id 
        where l.user_id = 8 
     order by l2.geopoint_id, l.user_id = l2.user_id desc;
    

    l2.user_id=l.user_idという意味だと思います 最初に行くべきです。

    これは、PostgreSQL-generalメーリングリストの関連メッセージです。以下は、ORDER BYのドキュメントにあります 条項:

    各式は、出力列の名前または通常の番号にすることができます (SELECTリストアイテム)、または input-columnから形成された任意の式にすることができます 値

    したがって、式を使用するときにエイリアスはありません。



    1. 大規模なMySQLインポートの接続タイムアウトを防ぐ方法

    2. SQL:2つの日付の違い

    3. Postgresデータベース内のすべてのテーブルを切り捨てる

    4. SqlDataSourceEnumerator.Instance.GetDataSources()は、ローカルSQLServer2008インスタンスを検索しません