Consulta Sql

02/01/2007 - 10:30 por Angelo | Informe spam
Hola
Tengo 2 tablas, TVAL1 ( Cabecera de Albaranes ) y TVAL11 ( Lineas de
Albaranes).
En esta consulta me muestra el cod de cliente y el importe consumido. Quiero
que me agrupe el resultado por cod.cliente y que me muestre el importe total
por cliente. Si pongo group by clicod me da error.

SELECT CLICOD,(SELECT SUM(ALBARTCAN * ALBLINPRC) FROM TVAL11 WHERE
EMPRCOD='01' AND DELCOD=TVAL1.DELCOD AND ALBCOD=TVAL1.ALBCOD) as TOTVEN
FROM TVAL1 WHERE EMPRCOD = '01'AND (ALBFEC >='01-01-2006') AND (ALBFEC
<='10-01-2006')

Muchas gracias

Preguntas similare

Leer las respuestas

#1 Antonio Soto
02/01/2007 - 10:53 | Informe spam
Hola Angelo,

Debes de convertir tu consulta en un join. Algo parecido a:

SELECT CLICOD, SUM(ALBARTCAN*ALBLINPRC)
FROM TVAL1 INNER JOIN TVAL11
ON TVAL1.ALBCOD = TVAL11.ALBCOD
WHERE EMPRCOD='01 (ALBFEC >='01-01-2006') AND (ALBFEC
<='10-01-2006')


GROUP BY CLICOD

Saludos

Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other person
or entity either by inference or direct reference
"Angelo" wrote in message
news:
Hola
Tengo 2 tablas, TVAL1 ( Cabecera de Albaranes ) y TVAL11 ( Lineas de
Albaranes).
En esta consulta me muestra el cod de cliente y el importe consumido.
Quiero
que me agrupe el resultado por cod.cliente y que me muestre el importe
total
por cliente. Si pongo group by clicod me da error.

SELECT CLICOD,(SELECT SUM(ALBARTCAN * ALBLINPRC) FROM TVAL11 WHERE
EMPRCOD='01' AND DELCOD=TVAL1.DELCOD AND ALBCOD=TVAL1.ALBCOD) as TOTVEN
FROM TVAL1 WHERE EMPRCOD = '01'AND (ALBFEC >='01-01-2006') AND (ALBFEC
<='10-01-2006')

Muchas gracias



Respuesta Responder a este mensaje
#2 Angelo
02/01/2007 - 17:00 | Informe spam
Muchas gracias por la respuesta ..sim embargo la consulta no me acaba de
funcionar, me da un error

Saludos
Respuesta Responder a este mensaje
#3 Antonio Soto
02/01/2007 - 17:09 | Informe spam
y Cuál es el error?


Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other person
or entity either by inference or direct reference
"Angelo" wrote in message
news:
Muchas gracias por la respuesta ..sim embargo la consulta no me acaba de
funcionar, me da un error

Saludos





Respuesta Responder a este mensaje
#4 Maxi
02/01/2007 - 17:30 | Informe spam
Antonio, me parece q aqui tienes el problema

WHERE EMPRCOD='01 (ALBFEC >='01-01-2006') AND (ALBFEC
<='10-01-2006')


GROUP BY CLICOD



donde deberia decir

WHERE EMPRCOD='01' and (ALBFEC >='20060101') AND (ALBFEC
<='20061001'')
GROUP BY CLICOD


pd: las fechas las pase a ANSI asi no tiene problemas


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Antonio Soto" escribió en el mensaje
news:
Hola Angelo,

Debes de convertir tu consulta en un join. Algo parecido a:

SELECT CLICOD, SUM(ALBARTCAN*ALBLINPRC)
FROM TVAL1 INNER JOIN TVAL11
ON TVAL1.ALBCOD = TVAL11.ALBCOD
WHERE EMPRCOD='01 (ALBFEC >='01-01-2006') AND (ALBFEC
<='10-01-2006')


GROUP BY CLICOD

Saludos

Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other person
or entity either by inference or direct reference
"Angelo" wrote in message
news:
Hola
Tengo 2 tablas, TVAL1 ( Cabecera de Albaranes ) y TVAL11 ( Lineas de
Albaranes).
En esta consulta me muestra el cod de cliente y el importe consumido.
Quiero
que me agrupe el resultado por cod.cliente y que me muestre el importe
total
por cliente. Si pongo group by clicod me da error.

SELECT CLICOD,(SELECT SUM(ALBARTCAN * ALBLINPRC) FROM TVAL11 WHERE
EMPRCOD='01' AND DELCOD=TVAL1.DELCOD AND ALBCOD=TVAL1.ALBCOD) as TOTVEN
FROM TVAL1 WHERE EMPRCOD = '01'AND (ALBFEC >='01-01-2006') AND (ALBFEC
<='10-01-2006')

Muchas gracias






Respuesta Responder a este mensaje
#5 Antonio Soto
02/01/2007 - 21:30 | Informe spam
Cierto, me comí una comilla :-) Cierto también lo de las fechas.

Gracias Maxi!!!

Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other person
or entity either by inference or direct reference


"Maxi" wrote in message
news:
Antonio, me parece q aqui tienes el problema

WHERE EMPRCOD='01 (ALBFEC >='01-01-2006') AND (ALBFEC
<='10-01-2006')


GROUP BY CLICOD



donde deberia decir

WHERE EMPRCOD='01' and (ALBFEC >='20060101') AND (ALBFEC
<='20061001'')
GROUP BY CLICOD


pd: las fechas las pase a ANSI asi no tiene problemas


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Antonio Soto" escribió en el mensaje
news:
Hola Angelo,

Debes de convertir tu consulta en un join. Algo parecido a:

SELECT CLICOD, SUM(ALBARTCAN*ALBLINPRC)
FROM TVAL1 INNER JOIN TVAL11
ON TVAL1.ALBCOD = TVAL11.ALBCOD
WHERE EMPRCOD='01 (ALBFEC >='01-01-2006') AND (ALBFEC
<='10-01-2006')


GROUP BY CLICOD

Saludos

Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other
person
or entity either by inference or direct reference
"Angelo" wrote in message
news:
Hola
Tengo 2 tablas, TVAL1 ( Cabecera de Albaranes ) y TVAL11 ( Lineas de
Albaranes).
En esta consulta me muestra el cod de cliente y el importe consumido.
Quiero
que me agrupe el resultado por cod.cliente y que me muestre el importe
total
por cliente. Si pongo group by clicod me da error.

SELECT CLICOD,(SELECT SUM(ALBARTCAN * ALBLINPRC) FROM TVAL11 WHERE
EMPRCOD='01' AND DELCOD=TVAL1.DELCOD AND ALBCOD=TVAL1.ALBCOD) as TOTVEN
FROM TVAL1 WHERE EMPRCOD = '01'AND (ALBFEC >='01-01-2006') AND (ALBFEC
<='10-01-2006')

Muchas gracias










Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida