有鉴于此:铸造列别名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