SQL Server - Consulta diferentes tablas

 
Vista:

Consulta diferentes tablas

Publicado por Eliza (5 intervenciones) el 20/06/2016 22:35:46
Estimados, les agradeceria me puedan ayudar..

Tengo una tabla con operaciones del cliente y otras tablas con información de la deuda pero por año (Ej: deuda_2015;deuda_2016). Necesito hacer que según la fecha en que realiza el curse (tabla 1) me de la información de la deuda (tabla 2). Cuando hago una consulta simple solo hago el join a una tabla 2. ¿Pero cómo lo hago si depende del valor del parámetro en tabla 1, y quiero que se realice en una sola consulta??

Les agradeceré sus comentarios...
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: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Consulta diferentes tablas

Publicado por Isaias (4558 intervenciones) el 20/06/2016 23:43:45
Quiero creer que entendi lo que buscas, el dejar datos por año en tablas separadas es un ERROR de diseño, aun asi, deberias intentarlo con QUERY-DINAMICO, te hago la observacion que este tipo de consultas no echan mano de los indices.
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

Consulta diferentes tablas

Publicado por Eliza (5 intervenciones) el 20/06/2016 23:59:04
Aunque no lo creas trabajo en una empresa muy grande y así lo hacen...seguramente es por el gran volumen que se mueve mensual...

No tendrás algún ejemplo que me sirva de referencia??..

Gracias por contestar
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: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Consulta diferentes tablas

Publicado por Isaias (4558 intervenciones) el 21/06/2016 21:16:26
1.- Porque no generas una vista indizada con todos los datos de la tabla 2
2.- Muestranos la estructura de tus tablas

¿Que tan grandes son tus tablas 2?, ¿En promedio de registros?
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

Consulta diferentes tablas

Publicado por Eliza (5 intervenciones) el 21/06/2016 22:03:41
No soy programadora, acostumbro a hacer consultas sencillas pero tengo nociones de sql server y cosas basicas de la U..
Te mando lo que creo que me pides..

Tabla 1 Ejemplo dato
Nombre Juan Perez
Rut 123
Clasificación riesgo A1
N° Curse_especial 456
Fecha_curse Ene-15

Tabla 2_0115 Ejemplo dato
Nombre Juan Perez
Rut 123
Clasificación riesgo A1
N° Operación 3
Deuda 46546

Tabla 2_0215 Ejemplo dato
Nombre Juan Perez
Rut 123
Clasificación riesgo A2
N° Operación 456
Deuda 134564

Las tablas no están relacionadas internamente pero el rut y la fecha las une implícitamente, al menos para lo que la quiero...

La idea es que según el mes de curse (tabla1), pueda seleccionar de una de las tablas el dato clasificación de riesgo (las tablas en estructura son iguales, la información cambia según el mes de cierre ...). Un cliente puede aparecer con curses en distintos meses por lo cual la fecha de curse es importante para saber en que tabla busco la información..

Espero se entienda...gracias por la ayuda.

Eliza..
([email protected])
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: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Consulta diferentes tablas

Publicado por Isaias (4558 intervenciones) el 22/06/2016 00:32:01
Pregunte: ¿En promedio, cuantos registros tiene la tabla 2?

Y no se dice: "Espero se entienda", es mejor, "Espero se comprenda"
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

Consulta diferentes tablas

Publicado por Eliza (5 intervenciones) el 22/06/2016 15:54:11
un mes x tuvo 6.696.834 registros (pero no debería haber una gran variación entre meses)... y las columnas de la tabla son 178 en total..yo creo que es por ese volumen que cada tabla corresponde a un mes, la que se crea al cierre de mes...

Yo siempre e usado indistintamente las dos freses, supongo que hay que aprender en ese aspecto también ..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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Consulta diferentes tablas

Publicado por Isaias (4558 intervenciones) el 23/06/2016 00:46:12
No se me ocurre otra solucion, debe leer la primera tabla y dependiendo del valor de Fecha_curse Ene-15, generar su QUERY DINAMICO para acceder a la SEGUNDA TABLA.

¿cual seria el problema?

Que tuviera que hacer un JOIN entre ambas tablas
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

Consulta diferentes tablas

Publicado por Eliza (5 intervenciones) el 23/06/2016 17:11:36
Eso se me ocurre, pero no sé cómo hacerlo..me puedes enviar un ejemplo base para ver la estructura de las sentencias??
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: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Consulta diferentes tablas

Publicado por Isaias (4558 intervenciones) el 23/06/2016 17:37:28
1
2
3
4
5
6
7
8
9
10
11
12
DECLARE @SQLString NVARCHAR(1000) -- O la longitud que necesites.
DECLARE @Fecha_Curse char(6) = ''
 
SELECT @Fecha_Curse = Fecha_curse FROM tabla1 WHERE.......
 
IF @Fecha_Curse = 'Ene-15'
 BEGIN
    SET @SQLString = N'SELECT * FROM '+ 2_0115 + ' where......'
 END
.............
..............
..............
y asi para todas tus tablas.....o hacer un CASE WHEN, para asignar el nombre de la tabla en cuestion.
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