![]() |
Query Anidado
Necesito que alguien me ayude a optener un query aninado, que no se como relacionarlo entre si, tengo 3 tablas PAGOS, DPAGOS y CLIENTES:
SELECT Cli_Nombre, pag_tipocredito, Pag_Total, SUM(Dpg_Abono) AS Total_Abonado FROM Dpagos DPG LEFT JOIN Pagos Pag ON Pag.Pag_Folio = Dpg.Dpg_Folio AND Pag.Pag_RelCobro = Dpg.Dpg_RelCobro LEFT JOIN Clientes Cli ON Cli.Cli_Codigo = Pag.Pag_Empresa WHERE Pag_estatus = 0 GROUP BY Cli_Nombre, pag_tipocredito, Pag_Total ORDER BY Cli_Nombre Lo cual me regresa los siguientes datos: cli_nombre -- pag_tipocredito -- pag_total -- total_abonado -------------------------------------------------------------------------- CALIBAJA ------- 1 ------ 950 ------ 79.17 CALIBAJA ------- 1 ------ 1,500 ------ 120.00 COMSA ------- 1 ------ 800 ------ 85.15 COMSA ------- 1 ------ 400 ------ 100.00 TIMSA ------- 1 ------ 1,000 ------ 150.00 TIMSA ------- 1 ------ 900 ------ 850.00 -------------------------------------------------------------------------- obteniendo estos datos del Query de arriba, necesito ahora con esta informacion anidar otro query para que me regrese solo la siguiente informacion, sumandome las columnas numericas: cli_nombre --- pag_total --- total_abonado ----------------------------------------------------------- CALIBAJA ---- 2450 ----- 199.17 COMSA ---- 1200 ----- 185.15 TIMSA -----1900 ----- 1000.00 Entiendo que la clausula inicial seria Select Cli_Nombre, SUM(Pag_Total), SUM(Total_Abonado) FROM Dpagos Where ( ...primer query... ) Aqui, es donde no se como hacer el segundo filtrado en (..primer query...), como puedo hacer anidado ambos querys y me de el resultado que espero? Saludos desde Mexicali, B.C., Mexico |
Buen dia Ricsato
podrias probar con:
a mi me funciona, lo dejo a consideracion de los gurus del foro otro metodo mejor Saludos desde Tijuana BC Mexico PD. yo uso SQL server 2000 no se si tu motor soporte lo anterior |
Marca Error
Hola amigo tijuanense, gracias por tu respuesta, pero fijate que añadir lo que me propones me marca el SQL Server 2000 el siguiente mensaje de error:
"An Order by clause is invalid in views, derivaded tables, and subqueries unless top is also specified" |
fijate que no le haya quedado un order by en el select que forma la tabla
si te sigue marcando lo mismo postea el query para ver que pudiese ser |
Gracias
Si tienes razon, era el ORDER BY, que estaba dentro de la clausula del parentesis, gracias!!!
|
La franja horaria es GMT +2. Ahora son las 12:59:28. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi