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

[SOLUCIONADO] Resultados de subconsulta

Estas en el tema de Resultados de subconsulta en el foro de SQL Server en Foros del Web. Hola de nuevo..... Bien dicen que la practica hace al maestro, pero cuando no tienes alguien que te oriente puedes tardar demaciado en llegar a ...
  #1 (permalink)  
Antiguo 06/06/2013, 18:43
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Resultados de subconsulta

Hola de nuevo.....

Bien dicen que la practica hace al maestro, pero cuando no tienes alguien que te oriente puedes tardar demaciado en llegar a ser maestro.... y en ocaciones el tiempo es escaso.... y es por eso que recurro de nuevo a su sabiduria en SQL y es algo que de verdad les agradezco.

Tengo este SP:

Código SQL:
Ver original
  1. ALTER PROCEDURE [dbo].[sp_gasto_acumulado_por_departamento]
  2.     @mes INT,
  3.     @folio INT,
  4.     @anio INT
  5.    
  6. AS
  7. BEGIN
  8.  
  9.     SELECT     tbl_partidas_1.departamento, SUM(tbl_partidas_1.total_dolares) AS total_gasto
  10. FROM         tbl_datos_generales FULL OUTER JOIN
  11.                       tbl_partidas AS tbl_partidas_1 ON tbl_datos_generales.id = tbl_partidas_1.folio
  12. WHERE     (tbl_datos_generales.estado <> N'NVA') AND (tbl_datos_generales.estado <> N'REC') AND (tbl_datos_generales.estado <> N'CAN') AND
  13.                       (tbl_datos_generales.estado <> N'APR') AND (MONTH(tbl_datos_generales.fecha_estimada_recepcion) = @mes) AND
  14.                       (YEAR(tbl_datos_generales.fecha_estimada_recepcion) = @anio) AND (tbl_partidas_1.departamento IN
  15.                           (SELECT     departamento
  16.                             FROM          tbl_partidas AS tbl_partidas
  17.                             WHERE      (folio = @folio)
  18.                             GROUP BY departamento))
  19. GROUP BY tbl_partidas_1.departamento
  20. END

El cual me arroja este resultado:



Este resultado esta correcto cuando en la consulta primaria existe registros del departamento 65013 y 65015, estos dos departamentos los obtengo de la subconsulta.

Pero no me arroja ningun resultado cuando no hay registros en la consulta principal que concidan con el resultado de la subconsulta.

Por ejemplo:

La subconsulta obtiene estos depas:
65013
65015

Pero en la consulta principal solo hay datos de los depas:
65013

Entonces me muestra solamnete:
depa total_gasto
65013 | 8.65

Quiero obtener este resultado, aunque en la consulta principal no tenga registros del depa 65015:

depa | total_gasto
65013 8.65
65015 0

ó en caso de que no haya registros de los dos departamentos en la consulta principla, que muestre:

depa | total_gasto
65013 0
65015 0

Espero haberme explicado, de verdad mi intencion no es que ustedes hagan el trabajo pro mi, pero mi conocimiento en SQL es basico y con consultas mas complejas me atoro.

Les comento que estoy haciendo una aplicacion para una compañia, y pues al principio era solo inserciones, actualizaciones y borrado de datos pero ahora me piden que haga cosas mas "complejas (por lo menos para mi), ya casi la termino pero este tipo de consultas me atoran.

Saludos y muchas gracias
  #2 (permalink)  
Antiguo 06/06/2013, 18:52
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Resultados de subconsulta

estas cerrando tu consulta con
Código SQL:
Ver original
  1. AND (tbl_partidas_1.departamento IN
  2.                           (SELECT     departamento
  3.                             FROM          tbl_partidas AS tbl_partidas
  4.                             WHERE      (folio = @folio)
  5.                             GROUP BY departamento))
aqui estas forzando a que exista el departamento si no existe no regresa info :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por gnzsoloyo; 07/06/2013 a las 16:41
  #3 (permalink)  
Antiguo 06/06/2013, 19:48
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Resultados de subconsulta

Te refieres al AND ó al IN?... jejeje... estoy buscando sobre los operadores de comparción, en este caso IN.

Libras!!, neta que cuando termine este proyecto y me lo paguen te enviare un pomo en señal de agradecimiento... (si tomas? jejeje )
  #4 (permalink)  
Antiguo 07/06/2013, 06:58
 
Fecha de Ingreso: noviembre-2011
Ubicación: Huancayo
Mensajes: 70
Antigüedad: 12 años, 5 meses
Puntos: 6
Mensaje Respuesta: Resultados de subconsulta

Hola,
a lo mejor podría ayudarte con: LEFT OUTER JOIN
Código SQL:
Ver original
  1. SELECT [ALL | DISTINCT ]
  2.              <nombre_campo> [{,<nombre_campo>}]
  3. FROM <nombre_tabla>
  4. [{LEFT|RIGHT OUTER JOIN  <nombre_tabla> ON <condicion_combinacion>}]
  5. [WHERE <condicion> [{ AND|OR <condicion>}]]
  6. [GROUP BY <nombre_campo> [{,<nombre_campo >}]]
  7. [HAVING <condicion>[{ AND|OR <condicion>}]]
  8. [ORDER BY <nombre_campo>|<indice_campo> [ASC | DESC]
  9.                   [{,<nombre_campo>|<indice_campo> [ASC | DESC ]}]]

Ejemplo:


saludos
__________________
________________
CompuInicio.com
Iniciando Bien . . .

Última edición por gnzsoloyo; 07/06/2013 a las 09:53 Razón: Mal etiquetado
  #5 (permalink)  
Antiguo 07/06/2013, 07:35
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Resultados de subconsulta

Cita:
Iniciado por estlui Ver Mensaje
Te refieres al AND ó al IN?... jejeje... estoy buscando sobre los operadores de comparción, en este caso IN.

Libras!!, neta que cuando termine este proyecto y me lo paguen te enviare un pomo en señal de agradecimiento... (si tomas? jejeje )
a los 2....y claro que tomo jajajaja , ahi lo que estas haciendo es que si y solo si te regrese los valores cuando existan en la tabla si no no regresa nada....
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 07/06/2013, 10:58
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Resultados de subconsulta

Hola de nuevo....

Amigo Librasss!!, apiadate de mi!!! jejejejjejejeje ¿que pomo quieres?

No me saleee ó no se como iria... :(

La subconsulta se usa como filtro de los departamentos que el usuario va seleccionado en un formato en ASP.net, pero sucede que si la subconsulta arroja 2 depas, pero si uno de esos depas no existe en la consulta principal pues no me la muestra.

Quisiera que me mostrara todos los depas de la subconsulta independientemente si existe en la consulta principal.

Gracias, muchas Graciasss!!
  #7 (permalink)  
Antiguo 07/06/2013, 11:06
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Resultados de subconsulta

un ejemplo de tus tablas, con sus respectivos datos ayudaria mucho :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 07/06/2013, 14:57
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Resultados de subconsulta

Libras, mira estas son las tablas de la consulta:



Te cuento como es el proceso, el sistema es una aplicacion para llevar el control de requisiciones de compra, donde se compare presupuesto contra gasto acumulado de las requis, por departamento y por mes.

El usuario llena los datos de la tabla tbl_datos_generales, al insertarlos el sistema le asigna un folio y comienza a capturar los datos de la tabla tbl_partidas.

En el campo tbl_partidas.departamento, el usuario selecciona de un dropdownlist el departamento, el podria seleccionar 65013 ó 65015 (o varios mas) pero siempre uno a la vez.

Cuando el usuario ingrese una partida donde seleccione el depa 65013, el sistema busque en la base de datos todas las requisiciones, por mes, creadas por los demas usuarios que afecten a dicho departamento (usando varios criterios mas). Con este dato en ASP.Net hago un calculo para saber si el costo del gasto del depa esta dentro de presupuesto ó no, y tomar una desicion.

Ojala y me haya explicado bien... jejeje

saludos y gracias....

PD. tequilita, ron, whisky, charanda, mezcal?
  #9 (permalink)  
Antiguo 07/06/2013, 15:02
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Resultados de subconsulta

y los datos?? y cheve esta bien jajajaja ;) aunque bueno charanda de la mascara tambien jajajaja
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #10 (permalink)  
Antiguo 07/06/2013, 15:03
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Resultados de subconsulta

Algo mas...

El problema que tengo es que si escogen el departamento 65015 para ingresar en una partida y resulta que no hay requisiciones "antiguas" ó ya creadas que afecten a dicho depa, pues no me arroja ningun resultado.

Y quisiera hacer que me muestre:

depa gasto
65015 - $0.00
  #11 (permalink)  
Antiguo 07/06/2013, 15:17
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Resultados de subconsulta

Estos son los datos de la tabla Datos Generales, no son todos pero con un par de folios es como he intentado hacer la consulta, y un gasto es tomado en cuanta cuando la columna estado= FIN, si no tiene este estado no lo debe de sumar:




Código SQL:
Ver original
  1. 459 2013-04-21 00:00:00.000 1. Prioridad cliente    2013-07-05 00:00:00.000 FIN NULL    NULL    Requisicion de compra   0.0000  a1  USD 11.5555 2000    No      NULL    0   0               NULL    NULL    NULL
  2. 460 2013-05-21 00:00:00.000 1. Prioridad cliente    2013-07-05 00:00:00.000 FIN NULL    NULL    Requisicion de compra   0.0000  a1  USD 11.5555 2000    No      NULL    0   0               NULL    NULL    NULL
  3. 461 2013-05-21 00:00:00.000 5. Operación normal 2013-06-05 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  USD 11.5555 2000    No      NULL    0   0               NULL    NULL    NULL
  4. 462 2013-05-21 00:00:00.000 5. Operación normal 2013-06-05 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  USD 11.5555 2000    No      NULL    0   0               NULL    NULL    NULL
  5. 463 2013-05-21 00:00:00.000 1. Prioridad cliente    2013-06-04 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  USD 11.5555 2000    No      NULL    0   0               NULL    NULL    NULL
  6. 464 2013-05-21 00:00:00.000 1. Prioridad cliente    2013-06-05 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  USD 11.5555 2000    No      NULL    0   0               NULL    NULL    NULL
  7. 465 2013-05-21 00:00:00.000 1. Prioridad cliente    2013-06-05 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  USD 11.5555 2000    No      NULL    0   0               NULL    NULL    NULL
  8. 466 2013-05-21 00:00:00.000 5. Operación normal 2013-06-05 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  USD 11.5555 2000    No      NULL    0   0               NULL    NULL    NULL
  9. 467 2013-05-21 00:00:00.000 5. Operación normal 2013-06-05 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  MXP 11.5555 2000    No      NULL    0   0               NULL    NULL    NULL
  10. 468 2013-05-21 00:00:00.000 1. Prioridad cliente    2013-06-05 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  USD 11.5555 2000    No      NULL    0   0               NULL    NULL    NULL
  11. 469 2013-05-21 00:00:00.000 5. Operación normal 2013-06-05 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  MXP 11.5555 2000    No      NULL    0   0               NULL    NULL    NULL
  12. 470 2013-05-31 00:00:00.000 5. Operación normal 2013-06-06 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  MXP 11.5555 2000    No  xxxx    NULL    0   0               NULL    NULL    NULL
  13. 471 2013-06-04 00:00:00.000 5. Operación normal 2013-07-02 00:00:00.000 FIN NULL    NULL    Requisicion de compra   0.0000  a1  USD 13.7777 2000    No  test    NULL    0   0               NULL    NULL    NULL
  14. 472 2013-06-04 00:00:00.000 5. Operación normal 2013-07-03 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  USD 13.7777 2000    No  Surface, la “tableta con capacidades de laptop”     NULL    0   0               NULL    NULL    NULL
  15. 473 2013-06-04 00:00:00.000 5. Operación normal 2013-07-04 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  USD 13.7777 2000    No  Surface, la “tableta con capacidades de laptop”     NULL    0   0               NULL    NULL    NULL
  16. 474 2013-06-04 00:00:00.000 5. Operación normal 2013-07-03 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  USD 13.7777 2000    No  Surface, la “tableta con capacidades de laptop”     NULL    0   0               NULL    NULL    NULL
  17. 475 2013-06-04 00:00:00.000 5. Operación normal 2013-07-03 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  USD 13.7777 2000    No  Prueba  NULL    0   0               NULL    NULL    NULL
  18. 476 2013-06-04 00:00:00.000 5. Operación normal 2013-07-02 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  USD 13.7777 2000    No  xxx NULL    0   0               NULL    NULL    NULL
  19. 477 2013-06-05 00:00:00.000 5. Operación normal 2013-07-04 00:00:00.000 NVA NULL    NULL    Requisicion de compra   0.0000  a1  USD 13.7777 2000    No  xxx \\TFO-PC\Users\Tfo\Desktop\R\web_req\archivos\477_Yo.zip    0   0               NULL    NULL    NULL




Estos son los datos de la tabla Partidas:





Código SQL:
Ver original
  1. 576 459 Picture: Santa Cruz Bicycles    BAG - Bag   1   100.0000    100.0000    8.6500  65013   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   3000    Picture: Santa Cruz Bicycles
  2. 577 460 Picture: Santa Cruz Bicycles    BAG - Bag   1   100.0000    100.0000    8.6500  65015   02200_000_003 :UNIFORMES    2000    Picture: Santa Cruz Bicycles
  3. 578 460 Picture: Santa Cruz Bicycles    BAG - Bag   1   100.0000    100.0000    8.6500  65015   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000    Picture: Santa Cruz Bicycles
  4. 579 471 Surface, la “tableta con capacidades de laptop”     BAG - Bag   1   200.0000    2755.5400   200.0000    65013   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   3000    Surface, la “tableta con capacidades de laptop”
  5. 580 471 Surface, la “tableta con capacidades de laptop”     BAG - Bag   1   100.0000    1377.7700   100.0000    65022   02200_000_002 :MATS. PARA EMPAQUE Y EMBARQUE    3000    Surface, la “tableta con capacidades de laptop”
  6. 581 474 Surface, la “tableta con capacidades de laptop”     BAG - Bag   1   100.0000    1377.7700   100.0000    65022   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000    Surface, la “tableta con capacidades de laptop”
  7. 582 475 Prueba  BAG - Bag   1   100.0000    1377.7700   100.0000    65011   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000    Prueba
  8. 583 478 Pruerba BLK - Block 2   600.0000    16533.2400  1200.0000   65013   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000    Prueba
  9. 584 478 x   BAG - Bag   1   100.0000    1377.7700   100.0000    65015   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000    XXX
  10. 586 478 xxxx    BAG - Bag   1   1000.0000   13777.7000  1000.0000   65015   02200_000_002 :MATS. PARA EMPAQUE Y EMBARQUE    2000    xxxx
  11. 594 479 Reunión para revisar proyecto de PRQs   BAG - Bag   1   100.0000    1377.7700   100.0000    65013   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000    Reunión para revisar proyecto de PRQs
  12. 595 479 Reunión para revisar proyecto de PRQs   BAG - Bag   1   100.0000    1377.7700   100.0000    65013   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000   
  13. 596 479 Reunión para revisar proyecto de PRQs   BLK - Block 1   100.0000    1377.7700   100.0000    65015   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000    Reunión para revisar proyecto de PRQs
  14. 597 480 xx  BAG - Bag   1   100.0000    100.0000    7.2600  65013   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000    x
  15. 598 481 xxx BAG - Bag   1   100.0000    1377.7700   100.0000    65013   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000   
  16. 599 482 xxx BAG - Bag   1   100.0000    1377.7700   100.0000    65013   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000   
  17. 600 483 Yo creo que es por los espacios entre las comillas simples  BAG - Bag   1   100.0000    1377.7700   100.0000    65013   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000   
  18. 601 484 de seguro estabas como mi sobrino cuando le comprar algo que quiere no se lo quita en semanas....   BAG - Bag   1   100.0000    1377.7700   100.0000    65013   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000   
  19. 602 485 CONVERT(VARCHAR(5), BAG - Bag   1   100.0000    1377.7700   100.0000    65013   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000   
  20. 603 485 CONVERT(VARCHAR(5), BAG - Bag   1   100.0000    1377.7700   100.0000    65013   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000   
  21. 604 485 CONVERT(VARCHAR(5), BAG - Bag   1   100.0000    1377.7700   100.0000    65015   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000   
  22. 605 486 Insertar filas vacias entre cada registro   BAG - Bag   1   100.0000    1377.7700   100.0000    65013   02200_000_000 :MATERIALES Y ACCESORIOS INDIRECTOS   2000    Insertar filas vacias entre cada registro



Libras, de verdad te agradezco mucho tu ayuda y puess... sales bara! si quieres pomo de la mascarita te mandaria una caja... jejejejeje

Saludos
  #12 (permalink)  
Antiguo 07/06/2013, 15:52
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Resultados de subconsulta

con los valores que pones(obvio sin todas las columnas nada mas usando las columnas llaves que manejas) hice lo siguiente:

Código SQL:
Ver original
  1. CREATE TABLE #generales
  2. (
  3. id INT,
  4. estado VARCHAR(20),
  5. total INT
  6. )
  7.  
  8. CREATE TABLE #partida(
  9. id INT,
  10. folio INT,
  11. depto INT
  12. )
  13.  
  14.  
  15. INSERT INTO #generales VALUES (459,'FIN',1)
  16. INSERT INTO #generales VALUES (460,'FIN',2)
  17. INSERT INTO #generales VALUES (461,'NVA',3)
  18. INSERT INTO #generales VALUES (462,'NVA',4)
  19. INSERT INTO #generales VALUES (463,'NVA',5)
  20. INSERT INTO #generales VALUES (464,'NVA',6)
  21. INSERT INTO #generales VALUES (465,'NVA',7)
  22. INSERT INTO #generales VALUES (466,'NVA',8)
  23. INSERT INTO #generales VALUES (467,'NVA',9)
  24. INSERT INTO #generales VALUES (468,'NVA',10)
  25. INSERT INTO #generales VALUES (469,'NVA',11)
  26. INSERT INTO #generales VALUES (470,'NVA',12)
  27. INSERT INTO #generales VALUES (471,'FIN',13)
  28. INSERT INTO #generales VALUES (472,'NVA',14)
  29. INSERT INTO #generales VALUES (473,'NVA',15)
  30. INSERT INTO #generales VALUES (474,'NVA',16)
  31. INSERT INTO #generales VALUES (475,'NVA',17)
  32. INSERT INTO #generales VALUES (476,'NVA',18)
  33. INSERT INTO #generales VALUES (477,'NVA',19)
  34.  
  35.  
  36.  
  37. INSERT INTO #partida VALUES (576,459,65013)
  38. INSERT INTO #partida VALUES (577,460,65015)
  39. INSERT INTO #partida VALUES (578,460,65015)
  40. INSERT INTO #partida VALUES (579,471,65013)
  41. INSERT INTO #partida VALUES (580,471,65022)
  42. INSERT INTO #partida VALUES (581,474,65022)
  43. INSERT INTO #partida VALUES (582,475,65011)
  44. INSERT INTO #partida VALUES (583,478,65013)
  45. INSERT INTO #partida VALUES (584,478,65015)
  46. INSERT INTO #partida VALUES (586,478,65015)
  47. INSERT INTO #partida VALUES (594,479,65013)
  48. INSERT INTO #partida VALUES (595,479,65013)
  49. INSERT INTO #partida VALUES (596,479,65015)
  50. INSERT INTO #partida VALUES (597,480,65013)
  51. INSERT INTO #partida VALUES (598,481,65013)
  52. INSERT INTO #partida VALUES (599,482,65013)
  53. INSERT INTO #partida VALUES (600,483,65013)
  54. INSERT INTO #partida VALUES (601,484,65013)
  55. INSERT INTO #partida VALUES (602,485,65013)
  56. INSERT INTO #partida VALUES (603,485,65013)
  57. INSERT INTO #partida VALUES (604,485,65015)
  58. INSERT INTO #partida VALUES (605,486,65013)
  59. INSERT INTO #partida VALUES (605,486,65014)
  60. INSERT INTO #partida VALUES (605,486,65014)
  61. INSERT INTO #partida VALUES (606,477,65012)
  62. INSERT INTO #partida VALUES (607,477,65012)
  63.  
  64.  
  65.  
  66. SELECT depto,SUM(g_total) FROM (
  67. SELECT depto,isnull(SUM(total),0) g_total FROM #partida AS t1
  68. LEFT JOIN #generales AS t2 ON (t1.folio=t2.id)
  69. GROUP BY t2.id,folio,depto) AS tabla GROUP BY depto

y obtengo como resultado:

65011 17
65012 38
65013 14
65014 0
65015 4
65022 29

que es lo que buscas no??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #13 (permalink)  
Antiguo 07/06/2013, 16:18
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Resultados de subconsulta

Dejame checarlo y aplicarlo a la consulta, en un rato te aviso.

Gracias
  #14 (permalink)  
Antiguo 07/06/2013, 16:33
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Resultados de subconsulta

y usando tus tablas quedaria:

Código SQL:
Ver original
  1. SELECT departamento,SUM(total_gasto) FROM(
  2. SELECT     tbl_partidas_1.departamento, SUM(tbl_partidas_1.total_dolares) AS total_gasto
  3. FROM         tbl_partidas AS tbl_partidas_1
  4. LEFT JOIN
  5.                       tbl_datos_generales  ON (tbl_datos_generales.id = tbl_partidas_1.folio)
  6. WHERE     (tbl_datos_generales.estado <> N'NVA') AND (tbl_datos_generales.estado <> N'REC') AND (tbl_datos_generales.estado <> N'CAN') AND
  7.                       (tbl_datos_generales.estado <> N'APR') AND (MONTH(tbl_datos_generales.fecha_estimada_recepcion) = @mes) AND
  8.                       (YEAR(tbl_datos_generales.fecha_estimada_recepcion) = @anio)
  9. GROUP BY tbl_partidas_1.departamento
  10. ) AS tabla GROUP BY departamento

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #15 (permalink)  
Antiguo 09/06/2013, 20:45
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Resultados de subconsulta

Libras...!!

Muchisimas gracias por tu ayuda, ya quedo!

Etiquetas: registro, resultados, select, sql, subconsulta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




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