有鑑於此:鑄造列別名BY子句
CREATE TABLE test (
a int,
b varchar(255)
);
INSERT INTO test VALUES(1, '100');
INSERT INTO test VALUES(1, '50');
INSERT INTO test VALUES(1, '075');
INSERT INTO test VALUES(1, '+50');
INSERT INTO test VALUES(1, '-50');
SELECT a, b AS c
FROM test AS t
ORDER BY t.a, c;
SELECT a, b AS c
FROM test AS t
ORDER BY t.a, t.b::int;
SELECT a, b AS c
FROM test AS t
ORDER BY t.a, c::int;
最後的查詢返回的錯誤:
ERROR: column "c" does not exist: SELECT a, b AS c FROM test AS t ORDER BY t.a, c::int
我要訂購一個列別名給定的結果。
如果我另外想要施放由別名給出的特定列,則不起作用。
ORDER BY alias
正在工作而ORDER BY alias::int
不是什麼原因?
是否有另一種方法在轉換中使用列別名?
您的[SQL小提琴](http://sqlfiddle.com/#!15/fbc54/1)爲空! – 2014-08-27 13:44:26
我已經把SQL放入問題中了...... – m13r 2014-08-27 19:23:32