2011-03-03 8 views
28

Quiero tener una consulta con una columna que no sea un valor codificado de una tabla, ¿se puede hacer esto? Lo necesito básicamente como un marcador de posición que voy a volver a la tarde y rellenar¿Cómo puedo crear una columna en blanco/codificada en una consulta sql?

ejemplo:.

SELECT 
hat, 
shoe, 
boat, 
somevalue = 0 as placeholder 
FROM 
objects 

entonces bucle a través de esta consulta posterior y llenaría en el marcador de posición

en este ejemplo, someValue no es un campo en objetos, necesito fingirlo. Estoy haciendo esto en coldfusion y utilizando dos fuentes de datos para completar una consulta. He intentado con la función space() pero no he podido hacer que funcione.

Gracias.

+0

El problema es el signo igual, creo. Ver mi respuesta a continuación. –

+0

Sí. Puede codificar un valor que se devolverá. –

+0

Sí, pero la sintaxis 'somevalue = 0 as placeholder' no tiene sentido. Simplemente '0 como marcador de posición' como lo sugirió Galz es el camino a seguir. – Rob

Respuesta

71
SELECT 
    hat, 
    shoe, 
    boat, 
    0 as placeholder 
FROM 
    objects 

Y '' as placeholder para cuerdas.

+0

simple y llana, gracias – Biondo86

8

Esto debería funcionar en la mayoría de las bases de datos. También puede seleccionar una cadena en blanco como su columna adicional de este modo:

Select 
    Hat, Show, Boat, '' as SomeValue 
From 
    Objects 
1

Las respuestas anteriores son correctas, y lo que consideraría las "mejores" respuestas. Pero para ser lo más completo posible, también puede hacerlo directamente en CF utilizando queryAddColumn.

Ver http://www.cfquickdocs.com/cf9/#queryaddcolumn

Una vez más, es más eficiente de hacerlo a nivel de base de datos ... pero es bueno estar al tanto de las tantas alternativas como sea posible (OMI, por supuesto) :)

2

Para varchars, puede que tenga que hacer algo como esto:

select convert(varchar(25), NULL) as abc_column into xyz_table 

Si intenta

select '' as abc_column into xyz_table 

puede obtener errores relacionados con el truncamiento, o un problema con valores nulos, una vez que lo rellene.

+0

Sí, al usar 'select ... into' para crear una nueva tabla, es importante ser más explícito sobre el tipo de datos y la capacidad. De lo contrario, el archivo db utilizará la cadena vacía para "adivinar" las propiedades de la columna de destino. En el caso de una cadena vacía, es casi seguro que dará la respuesta incorrecta. – Leigh

-1
SELECT 
    hat, 
    shoe, 
    boat, 
    0 as placeholder -- for column having 0 value  
FROM 
    objects 


--OR '' as Placeholder -- for blank column  
--OR NULL as Placeholder -- for column having null value 
+1

Esta es una [repetición] (http://stackoverflow.com/a/5185769/104223) de [respuestas existentes] (http://stackoverflow.com/a/29017794/104223). – Leigh

Cuestiones relacionadas