2009-07-07 19 views
28

Tengo una tabla con la siguienteSeleccione una columna ficticia con un valor ficticio en SQL?

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

Resultado

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

No estoy seguro de cómo hacer para escribir la consulta, col1 y col2 pueden ser seleccionados por este

select col1, col2 from Table1 where col1 = 0; 

¿Cómo debo agregar una col3 con el valor ABC?

Respuesta

63

Prueba esto:

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

de cómo hacer esto en PostgreSQL? –

+0

Funciona en PostgreSQL, solo use comillas simples para el valor, sin comillas dobles. – Erowlin

10

si nos referimos simplemente como ABC de valor simple, respuesta anterior es el que funciona bien.

Si se refería a la concatenación de valores de filas que no son seleccionadas por su consulta principal, necesitará usar una subconsulta.

Algo como esto puede funcionar:

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

real tal vez un poco fuera aunque

+0

y si este es el caso, ese SQL no funcionará en todas las bases de datos, SQL Server no tiene Group_concat. Pero parece que debería funcionar para mysql – HLGEM

+0

me ayudaron sus ans aquí http://stackoverflow.com/questions/21041668/adding-one-more-column-externally-in-query?answertab=votes#tab-top –

Cuestiones relacionadas