SQL - CONSULTA ANIDADA SQL

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 5 puestos en SQL (en relación al último mes)
Gráfica de SQL

CONSULTA ANIDADA SQL

Publicado por DUILIO BERARDINELLI (4 intervenciones) el 30/03/2021 01:32:02
Hola como estan, necesito me ayuden a definir una consulta anidada
estoy haciendo esta consulta

1
2
3
SELECT TABLE_NAME
from information_schema.columns
where column_name = 'COD_ARTICU'

esto me devuelve todas las tablas de la DB que tiene el campo COD_ARTICU

lo que necesito es poder filtrar para que me devuelva solo las tablas que tengan un CODIGO especifico dentro de ese campo

Desde muchas gracias a todos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

CONSULTA ANIDADA SQL

Publicado por Isaias (1921 intervenciones) el 30/03/2021 04:20:33
Veamos, dime si te es funcional, este codigo fue probado en SQL Server

1
2
3
4
5
6
7
DECLARE @SQLString nvarchar(100)
SELECT  @SQLString =  'SELECT * FROM ' +  TABLE_NAME
+ ' WHERE COD_ARTICU = ' + 'tuvalor'
FROM        INFORMATION_SCHEMA.COLUMNS
WHERE       COLUMN_NAME LIKE 'COD_ARTICU'
-- PRINT @SQLString -- Descomentaria para revisar
EXEC sp_executesql @SQLString
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 5 puestos en SQL (en relación al último mes)
Gráfica de SQL

CONSULTA ANIDADA SQL

Publicado por DUILIO (4 intervenciones) el 30/03/2021 14:27:56
Hola Isaias, antes que nada muchas gracias por tu respuesta

no obtengo el resulta que estoy necesitando
cuando ejecuto tu consulta

1
2
3
4
5
6
7
DECLARE @SQLString nvarchar(100)
SELECT  @SQLString =  'SELECT * FROM ' +  TABLE_NAME
+ ' WHERE COD_ARTICU = ' + '101001'
FROM        INFORMATION_SCHEMA.COLUMNS
WHERE       COLUMN_NAME LIKE 'COD_ARTICU'
-- PRINT @SQLString -- Descomentaria para revisar
EXEC sp_executesql @SQLString

El resultado que me muestra es un select * de la ultima tabla que encuentra con el campo buscado y no filtra la coincidencia del valor, esta tabla esta vacia

El resultado que estoy buscando es el resultado de la consulta inicial

1
2
3
SELECT TABLE_NAME
from information_schema.columns
where column_name = 'COD_ARTICU'

TABLE_NAME
---------------------------------------------------------------------------------
1 CPA66
2 CPA100
3 CZCABECERA_OS_PED_REM_FAC_OSERV
4 CZCOSS_PLA_MAT_DET
5 CZCABECERA_OS_PED_REM_FAC_OSRV1
6 CZCABECERA_PROYECTOS
7 CZTMP_MOVIM_STKUBI
8 CZCABECERA_OS_PED_REM_FAC_OSRV2
9 STA27
---------------------------------------------------------------------------------

Pero con el filtro, que estas tablas contengan el VALOR buscado en el CAMPO buscado

Desde ya muchas gracias por tu interes y ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

CONSULTA ANIDADA SQL

Publicado por Isaias (1921 intervenciones) el 30/03/2021 16:36:58
Muestrame el RESULTADO que te da mi consulta, gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar