在SQL中选择一个具有虚拟值的虚拟列?
问题描述:
我有一个表具有以下在SQL中选择一个具有虚拟值的虚拟列?
Table1
col1 col2
------------
1 A
2 B
3 C
0 D
结果
col1 col2 col3
------------------
0 D ABC
我不知道怎么去写查询,col1和col2上可以通过这个
select col1, col2 from Table1 where col1 = 0;
选择
我应该如何着手添加一个值为ABC的col3。
答
试试这个:
select col1, col2, 'ABC' as col3 from Table1 where col1 = 0;
答
如果你的意思只是ABC一样简单值,回答上面是正常工作的一个。
如果您的意思是未连接主查询所选行的值,则需要使用子查询。
像这样的东西可能工作:
SELECT t1.col1,
t1.col2,
(SELECT GROUP_CONCAT(col2 SEPARATOR '') FROM Table1 t2 WHERE t2.col1 != 0) as col3
FROM Table1 t1
WHERE t1.col1 = 0;
实际语法可能有点过,虽然
如何做到这一点的PostgreSQL的? – 2015-07-21 15:26:14
它适用于PostgreSQL,只需使用简单的报价值,不用双引号。 – Erowlin 2017-10-09 14:59:39