1

Postgre では、なぜ

select abc from (select 1) as abc

生成:

(1)

select * from (select 1) as abc

生成:

1

それは私には本当に奇妙です。MySQL、Oracleなどの場合はそうですか? 私は自分の状態がなぜ失敗したのかを理解するのに何時間も費やしました...

4

1 に答える 1

4

クエリによって返される行の型は異なります。最初の行はROW(INT)、2 番目の行は ですINT

MySQL他の人はこの機能を欠いています。

ROW最初のクエリでは、全体を 1 つの列として選択しています。このクエリ

SELECT abc FROM (SELECT 1, 2) abc

これも(1, 2)単一の列であり、型がありROWます。

値を選択するにはINT、次を使用します。

SELECT  abc.col
FROM    (
        SELECT  1 AS col
        ) abc
于 2009-04-10T13:37:16.237 に答える