Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

subconsultas sql server

Estas en el tema de subconsultas sql server en el foro de Bases de Datos General en Foros del Web. Cordial saludo. Tengo la siguiente consulta en Sql Server con subconsultas como se muestra a continuacion Mi problema es que no esta tomando el resultado ...
  #1 (permalink)  
Antiguo 12/03/2018, 15:12
 
Fecha de Ingreso: febrero-2005
Mensajes: 665
Antigüedad: 13 años, 3 meses
Puntos: 2
subconsultas sql server

Cordial saludo.

Tengo la siguiente consulta en Sql Server con subconsultas como se muestra a continuacion

Mi problema es que no esta tomando el resultado de Ti_UltCuoPag en la subconsulta de planpago me sale que no reconoce la variable cuando en la subconsulta anterior aparece; esas variables las resalto en negrita.

Agradezco de antemano la ayuda que me puedan brindar

Cita:
select
c.crenumero
, c.cresaldactu
, c.crefechgeneinte
, c.modnocausacion
, c.dpcedula
, c.cretasasubs
, c.creporctasasubs
, isnull(UltCuoPag, 0) as Ti_UltCuoPag
,Ti_CanCuoDeb
FROM
vistintecorr as c
left outer join(
select
MAX(pagcuotnume) as UltCuoPag
, crenumero
from
pagos
where pagEstado='A'
group by
crenumero) as pag on pag.crenumero = c.crenumero
left outer join (
select
count(*) as Ti_CanCuoDeb
, crenumero
from
planpago
where ppfecha <= '2018-03-12' and ppcuota > pag.UltCuoPag
group by
crenumero
) as pp on pp.crenumero = c.crenumero
WHERE
(c.crenumero ) = 31714
ORDER BY
c.crenumero ASC
  #2 (permalink)  
Antiguo 12/03/2018, 19:14
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.796
Antigüedad: 8 años, 9 meses
Puntos: 213
Respuesta: subconsultas sql server

Saludo

Eso se da porque son subconsultas independientes.

Una posible solución sería agregar la subconsulta en el campo de comparación,
algo así:

Código SQL:
Ver original
  1. AND ppcuota > (SELECT
  2.     MAX(p.pagcuotnume) UltCuoPag
  3.     FROM pagos p
  4.     WHERE p.pagEstado='A'
  5.     AND p.crenumero = crenumero
  6.     GROUP BY p.crenumero)
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 12/03/2018 a las 19:19
  #3 (permalink)  
Antiguo 14/03/2018, 09:12
 
Fecha de Ingreso: febrero-2005
Mensajes: 665
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: subconsultas sql server

Cordial saludo mortiprogramador

Gracias por tu rapida respuesta, he probado el codigo y funciona; me han aconsejado hacerlo creando una función en el motor sql server, que de esa forma no consume tanto recursos; que tan cierto es eso??

Debo repetir esa subconsulta en otro left outer join

Agradezco de antemano la ayuda y sugerencias que me pueda brindar

Última edición por tattojk; 14/03/2018 a las 10:44
  #4 (permalink)  
Antiguo 16/03/2018, 17:03
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.796
Antigüedad: 8 años, 9 meses
Puntos: 213
Respuesta: subconsultas sql server

Saludo tattojk,

Pues si tienes posibilidad de trabajarlo directamente en el motor
como una función, es mejor opción pues si luego sigue creciendo
es mejor manejarlo de ese modo.

Incluso tal vez sea más fáctible generar una consulta principal,
y luego recorrer los datos para crear consultas más dinámicas
y que se omita tener tantas subconsultas, pero pues eso ya
es harina de otro costal.

Por ahora hacer la función a ver que tal te va con eso.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 20/03/2018, 10:45
 
Fecha de Ingreso: febrero-2005
Mensajes: 665
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: subconsultas sql server

Cordial saludo mortiprogramador

Por favor me indicas en que pagina o tutorial puedo hacer eso que me comentas, yo apenas estoy empezando con procedimientos almacenado y consultas de ese tipo
  #6 (permalink)  
Antiguo 20/03/2018, 14:19
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.796
Antigüedad: 8 años, 9 meses
Puntos: 213
Respuesta: subconsultas sql server

Un saludo tattojk,
revisa esto que se enfoca en las funciones como tal.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com



La zona horaria es GMT -6. Ahora son las 03:31.