2011-04-09 71 views
8

我想在表中不存在的查詢中添加一列,並將其作爲結果返回。因此,可以說TABLE_TEST具有列A,B,我要返回A,B和C,我試圖做添加查詢中不存在的列

SELECT A, B, C=3 FROM TABLE_TEST 

SELECT *, C=3 FROM TABLE_TEST 

可這在MySQL來完成,Postgresel值或MSSQL?

+0

而且下面的答案:如果你需要一個字符串,而不是一個整數,你需要周圍的單引號。 (也就是說,當'select 3 as c from table' works,'Select dummy as c from table' or'select「dummy'as c from table' try to find a column already named named'dummy',所以你需要'選擇'dummy'as c from table'。可能會隨着你的SQL引擎而變化通過http://stackoverflow.com/questions/2504163/include-in-select-a-column-that-isnt-actually-in-the-數據庫和http://stackoverflow.com/questions/5185743/how-can-i-create-a-blank-hardcoded-column-in-a-sql-query – ShreevatsaR 2016-10-29 23:53:07

回答

21

是的,肯定的:

select a, b, 3 as c from table_test 

就是這樣。它適用於你提到的三個數據庫引擎。

+3

如果您想在列名中包含空格,您也可以將_3作爲「My Fake Column」_。 – NKCSS 2011-04-09 14:25:03

10

你應該使用:

SELECT A,B, 3 AS C FROM TABLE_TEST 
+1

你錯過了逗號後B,這使查詢無效 – NKCSS 2011-04-09 14:25:48

+0

@NKCSS:我沒有看到它,謝謝... – Marco 2011-04-09 14:33:32

+1

@Pablo:感謝您使它正確 – Marco 2011-04-09 14:43:46

2

您可以直接使用

Select a,b, 3 as c from table 

這被稱爲alias