2009-07-07 21 views
28

Ho una tabella con il seguenteSelezionare una colonna fittizia con un valore fittizio in SQL?

Table1 
col1 col2 
------------ 
1  A 
2  B 
3  C 
0  D 

Risultato

col1 col2 col3 
------------------ 
0  D  ABC 

non sono sicuro di come fare per scrivere la query, col1 e col2 possono essere selezionati da questo

select col1, col2 from Table1 where col1 = 0; 

Come dovrei andare ad aggiungere un col3 con valore ABC.

risposta

63

Prova questa:

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

come fare questo in PostgreSQL? –

+0

Funziona su PostgreSQL, basta usare la citazione semplice per il valore, senza virgolette. – Erowlin

10

Se intendersi ABC come valore semplice, risposta di cui sopra è quello che funziona bene.

Se si intendeva la concatenazione di valori di righe non selezionate dalla query principale, sarà necessario utilizzare una sottoquery.

Qualcosa di simile può funzionare:

sintassi
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; 

reale forse un po 'fuori se

+0

e se questo è il caso, tale SQL non funzionerà in tutti i database, SQL Server non ha Group_concat. Ma sembra che dovrebbe funzionare per mysql – HLGEM

+0

i tuoi ans mi hanno aiutato qui http://stackoverflow.com/questions/21041668/adding-one-more-column-esternally-in-query?answertab=votes#tab-top –

Problemi correlati