www.state-it.info

Gran base de respuestas a las preguntas de los desarrolladores
Header decor

Como crear una consulta en MSSQL en la salida de varias tablas?

Jozo 2018-10-17 23:04:23

es Necesario visualizar los datos de todas las tablas tienen vistas:
very_strong_table_20170109
very_strong_table_20170209
very_strong_table_20170308
very_strong_table_20170407
very_strong_table_20170506

Tabla very_strong_table_******** se crea cada mes (30 días). La estructura de ellos de la misma manera.
Estaré encantado de cualquier consejo, gracias!

Total answers: 1

tsklab 2018-10-18 09:28:34

Utilizar la UNION, la consulta generar de forma dinámica.
Lista de tablas:

SELECT name FROM sysobjects WHERE name like 'very_strong_table_%' AND type = 'U'

En su base de la forma de solicitud.
como se puede mediante la union de formar dicha solicitud?

Así como os ha enseñado. Me gustaría utilizar el cursor, me he acostumbrado a ellos.
por Ejemplo
DECLARE @TAB VARCHAR(500), @SQL VARCHAR(1000)
  SET @SQL = '--'
  DECLARE LISTTABLEE CURSOR LOCAL FAST_FORWARD FOR
    SELECT name FROM sysobjects WHERE name like 'very_strong_table_%' AND type = 'U'
  OPEN LISTTABLEE
  FETCH LISTTABLEE INTO @TAB
  WHILE @@FETCH_STATUS = 0 BEGIN
    SET @SQL = @SQL + CHAR(13)+CHAR(10)+'SELECT * FROM '+ @TAB
    FETCH LISTTABLEE INTO @TAB
    IF @@FETCH_STATUS = 0 
      SET @SQL = @SQL + CHAR(13)+CHAR(10)+'UNION'
  END
  CLOSE LISTTABLEE
  DEALLOCATE LISTTABLEE
  PRINT @SQL
  EXECUTE(@SQL)

Jozo 2018-10-18 10:40:50

por desgracia, la arquitectura de hecho, no yo, y el proveedor de la solución.
Dime, ¿cómo se puede mediante la union de formar dicha solicitud? Por si acaso aclaro que las tablas se crean cada mes y la información que necesita de todos ellos.
Gracias!


Preguntas relacionadas:

Footer decor

© www.state-it.info | Base of answers to questions for developers and programmers.