FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Resta de dos Querys
Que tal a todos, buen dia.
Les escribo para pedir su ayuda ya que tengo algunos dias lidiando con una consulta SQL y de la cual le resto el valor de otra consulta SQL pero me marca error.
De esta consulta, la primera obtiene el total de mercancias de las tablas en cuestion, (b.EXIST-(SELECT DISTINCT SUM(.......)) esta subconsulta hace la suma de algunos productos que cumplen cierta condicion y devuelve el valor que al final se resta de la consulta inicial. Pero me manda un error en SQL : Mensaje de error: Solo se puede especificar una expresion en la llista de seleccion cuando la subconsulta no se especifica con EXISTS Haciendo mencion de que uso MS-SQL 2008 Anterior habia realizado una subconsulta similar pero con otras tablas, valores y condiciones sin problema; pero esta no funciona. Espero haber sido claro en la descripcion. Agradezco de antemano su tiempo y ayuda. |
#2
|
||||
|
||||
Qué tal, buen día.
Sin mirar bien, me parece que en la subconsulta sobra el primer campo. O algo así, ya que debería traer solamente un dato para poder hacer la resta. -
__________________
"constructive mind, destructive thoughts" |
#3
|
|||
|
|||
TOPX
Agradezco tu respuesta. Le he quitado el primer campo en la subconsulta y ya no marca error de EXIST. Ahora el error que envia es La subconsulta ha devuelto mas de un valor, lo que no es correcto cuando va a continuacion de =,!=,<<,<=,>,>= o cuando se utiliza como expresion Como lo comente y quizás no haya sido clara la descripcion es asi: tengo una consulta que saca toda la informacion que necesito Nombre producto y cantidades físicas (CVE_ART, EXIST) hasta ahi no hay problema, la subconsulta me suma la misma informacion pero considerando de otra tabla el valor de un apartado (por asi decirlo) si esta marcado como apartado, suma la cantidad de ese producto (CANT) y deberia o la pretencion es que reste esta SUM de la primera consulta sin afectar la cantidad de productos que no estan marcados como apartados. he leído algunos posts al respecto pero no me queda claro como hacer esta subconsulta. Gracias & saludos |
#4
|
|||
|
|||
Por lo que veo el segundo select recoges los mismos datos que en el primero.
Lo que quieres hacer es así:
Observa que en este query he cambiado los alias de las tablas y he puesto
De esta manera el segundo query obtendra el estock del producto que esta procesando el primer query |
#5
|
|||
|
|||
Aposi
Gracias por tu respuesta, ejecute el query como lo presentas y los resultados que da son algunos en - (negativo) y cantidades inexistentes En tanto modifique el query donde sale la informacion principal de la que posteriormente se resta la consulta del otro query el primero es asi: Este Primer query me da el total de articulos en el almacen de venta y sus respectivas cantidades Este query me da la suma de articulos que se han "apartado" y es el que deberia de "restarse" del primer query para que de algo asi: si los ejecuto independientes trabajan sin problema y con la informacion correcta primer query: Articulo|Cantidad MONITOR LED 32"|25 MOUSE INALAMBRICO|7 segundo query Articulo|Cantidad MONITOR LED 32"|10 MOUSE INALAMBRICO|3 Resultado de la operación deseada Articulo|Cantidad MONITOR LED 32"|15 MOUSE INALAMBRICO|4 como pueden ver modifique el primer query a lo mas basico sacando los datos que me interesan y el segundo obtiene los datos de los "apartados" y no he logrado que trabaje como pretendo. Seguire en la practica buscando la respuesta y si alguien tiene alguna idea se le agradece Saludos |
#6
|
|||
|
|||
Solo tienes que poner el segundo select dentro del primero con la union del codigo de articulo
|
#7
|
|||
|
|||
Aposi
Gracias por tu aportacion, ejecute el query como lo editaste y no envio error. Solo que en el campo de CANTIDAD muestra en todos valores NULL, creo que la subconsulta no esta funcionando. Tendrá algo que ver la columna EXIST, digo que la relacione como palabra reservada o similar? lamentablemente de ser así no puedo cambiar el nombre de ese campo en la BD. Es lo único que de momento se me ocurre ya que en las pruebas anteriores el MS-SQL menciona algo relacionado a EXIST Gracias & saludos |
#8
|
|||
|
|||
Otra prueba
He estado realizando cambios en la estructura de la consulta(no gran cosa, redunda practicamente en la misma) con el mismo error. el codigo es el siguiente:
si se ejecuta la consulta individual funcionan, pero al incluirlas envia el error: "Solo se puede especificar una expresion en la lista de seleccion cuando la subconsulta no se especifica con EXIST" consulta individual (Subconsulta): OK
consulta individual: OK
como les mencione funcionan bien, pero no he logrado enlazar el resultado de una y restarle el de la otra. Alguien que se le ocurra el origen del problema. Gracias & saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Resta Hexadecimal ??? | Ðαяισš | Varios | 6 | 15-09-2010 11:34:17 |
Resta de tiempo | Faust | SQL | 4 | 25-04-2008 18:31:54 |
REsta Fechas | Juanito-Kun | Firebird e Interbase | 2 | 11-10-2005 20:52:23 |
Resta equivocada... | jhonny | Varios | 6 | 26-09-2005 18:43:20 |
Resta de Tablas con SQL | agova | SQL | 8 | 24-11-2003 21:20:25 |
|