2

この MySQLクエリに対するPostgreSQL での同等の結果が必要です。

select id, 'ID1' from supportContacts

アイデアは、テーブル名と行の値が ID1 に等しい列を結合することです。

PostgreSQL で同じクエリを実行すると、必要な行の値が得 ?column? uknownられますが、列名として与えられます。

正確な出力が得られる PostgreSQL クエリはどれですか?

4

2 に答える 2

3

列エイリアスを追加して、選択した名前を割り当てます。それ以外の場合、システムはデフォルトを適用します。タイプ
を割り当てるには、明示的なキャストを使用します。私はここにキャストしました:text

SELECT id, 'ID1'::text AS "ID1" FROM supportContacts

または、SQL標準cast()を使用して移植可能にします。

SELECT id, cast('ID1' AS varchar) AS "ID1" FROM "supportContacts"

移植性のために、MySQLがで実行されることを確認してSET sql_mode = 'ANSI'ください。

また、引用符で囲まれていないCaMeL-のような大文字小文字の名前supportContactsは、PostgreSQLでは小文字にキャストされます。実際のテーブル名を使用する"supportContacts"か、それに応じて。supportcontacts

識別子の基本については、こちらの優れたマニュアルを読むことから始めてください。

于 2012-12-06T13:33:11.747 に答える
0

SQL Fiddle here で答えを見つけることができます

于 2012-12-06T13:35:49.127 に答える