Subconsulta en la FROM
Publicado por Julen (2 intervenciones) el 24/03/2011 21:56:16
Buenas.
Estoy intentando meter el nombre de una tabla en una FROM mediante una subconsulta de la siguiente manera:
SELECT *
FROM (SELECT nombre_tabla FROM dbo.prueba WHERE codigo = 1)
ERROR: Mens. 102, Nivel 15, Estado 1, Línea 1
Sintaxis incorrecta cerca de ')'.
La columna "nombre_tabla" es de tipo varchar. Evidentemente, la tabla con el nombre que devuelve dicha columna existe. Una solución que ha encontrado una compañera ha sido la siguiente:
DECLARE @sql AS VARCHAR(400), @nombre AS VARCHAR(15)
SELECT @nombre = nombre_tabla FROM dbo.prueba WHERE codigo = 1
SET @sql = 'SELECT * FROM ' + @nombre
exec(@sql)
Pero, para el programa que estoy utilizando no sirve, necesito que sea una única orden, todo integrado en una SELECT. ¿Alguna solución?
Muchas gracias de antemano y saludos.
Estoy intentando meter el nombre de una tabla en una FROM mediante una subconsulta de la siguiente manera:
SELECT *
FROM (SELECT nombre_tabla FROM dbo.prueba WHERE codigo = 1)
ERROR: Mens. 102, Nivel 15, Estado 1, Línea 1
Sintaxis incorrecta cerca de ')'.
La columna "nombre_tabla" es de tipo varchar. Evidentemente, la tabla con el nombre que devuelve dicha columna existe. Una solución que ha encontrado una compañera ha sido la siguiente:
DECLARE @sql AS VARCHAR(400), @nombre AS VARCHAR(15)
SELECT @nombre = nombre_tabla FROM dbo.prueba WHERE codigo = 1
SET @sql = 'SELECT * FROM ' + @nombre
exec(@sql)
Pero, para el programa que estoy utilizando no sirve, necesito que sea una única orden, todo integrado en una SELECT. ¿Alguna solución?
Muchas gracias de antemano y saludos.
Valora esta pregunta


0