2009-07-07 3 views
28

は、私は、次の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を追加するには、どうすればよいですか。

答えて

63

この試してみてください:あなたは、単純な値としてだけでABCを意味している場合、上記の答え

select col1, col2, 'ABC' as col3 from Table1 where col1 = 0; 
+2

かかわらず? –

+0

PostgreSQLで動作します。値には単純引用符を使用し、二重引用符は使用しないでください。 – Erowlin

10

は、正常に動作1です。

メインクエリで選択されていない行の値を連結する場合は、サブクエリを使用する必要があります。このような

何かが動作することがあります。

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でこれを行う方法を

+0

この場合、SQLはすべてのデータベースで機能しません.SQL ServerにはGroup_concatがありません。しかしそれはmysqlのために働くべきであるように見える – HLGEM

+0

あなたのansは私をここに助けたhttp://stackoverflow.com/questions/21041668/adding-one-more-column-externally-in-query?answertab=votes#tab-top –