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

error de sintaxis

Estas en el tema de error de sintaxis en el foro de SQL Server en Foros del Web. Hola a todos!! necesito ayuda con esta consulta select B.Docdate, B.docduedate, B.taxdate,A.Cardcode, B.Cardname, B.docnum, B.Acctcode, B.ocrCode, B.doctotal, C.Sumatoria From (select t1.cardcode from OCRD t0 inner ...
  #1 (permalink)  
Antiguo 24/07/2010, 13:47
 
Fecha de Ingreso: julio-2010
Mensajes: 1
Antigüedad: 13 años, 9 meses
Puntos: 0
error de sintaxis

Hola a todos!! necesito ayuda con esta consulta

select B.Docdate, B.docduedate, B.taxdate,A.Cardcode, B.Cardname, B.docnum, B.Acctcode, B.ocrCode,
B.doctotal, C.Sumatoria From
(select t1.cardcode from OCRD t0 inner join OINV T1 on (t0.Cardcode=T1.cardcode)
where t0.cardtype='C') AS A

Left join
((select t1.docdate as 'Fecha de Contabilizacion' , t1.docduedate as 'Fecha de Vencimiento', t1.taxdate as 'Fecha de Documento',
t1. Cardcode as 'Codigo de Cliente', t1.Cardname as 'Nombre de Cliente', t1.docnum as 'Numero de documento',
t2. AcctCode as 'Cuenta de Mayor',t2.OcrCode as 'Centro de beneficio', t1.doctotal as 'Total deuda'
from OINV t1 inner join INV1 t2 on (t1.DocEntry=t2.Docentry) where t1.DocStatus = 'O')) AS B on (A.cardcode=B.cardcode)

left join

((select t1.cardcode, sum(t1.doctotal) as sumatoria from OCRD t0 inner join OINV t1 on (t0.Cardcode=t1.cardcode)
where t0.cardtype='C'and t1.DocStatus = 'O' group by t1.cardcode)AS C on (C.cardcode=A.cardcode))

group by B.Docdate, B.docduedate, B.taxdate,A.cardcode, B.Cardname, B.docnum, B.Acctcode, B.ocrCode,
B.doctotal, C.Sumatoria


me muesta el siguiente error:

Mens. 156, Nivel 15, Estado 1, Línea 16
Sintaxis incorrecta cerca de la palabra clave 'on'.

Si alguien me puede ayudar se lo agradeceria!!!
  #2 (permalink)  
Antiguo 26/07/2010, 09:36
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: error de sintaxis

Por eso siempre es bueno identar el script.
Código SQL:
Ver original
  1. SELECT B.Docdate, B.docduedate, B.taxdate,A.Cardcode, B.Cardname, B.docnum,
  2. B.Acctcode, B.ocrCode, B.doctotal, C.Sumatoria
  3. FROM (
  4.     SELECT t1.cardcode
  5.     FROM OCRD t0
  6.     INNER JOIN OINV T1 ON t0.Cardcode = T1.cardcode
  7.     WHERE t0.cardtype = 'C'
  8. ) A
  9. LEFT JOIN (
  10.     SELECT t1.docdate 'Fecha de Contabilizacion', t1.docduedate 'Fecha de Vencimiento',
  11.     t1.taxdate 'Fecha de Documento', t1.Cardcode 'Codigo de Cliente',
  12.     t1.Cardname 'Nombre de Cliente', t1.docnum 'Numero de documento',
  13.     t2.AcctCode 'Cuenta de Mayor', t2.OcrCode 'Centro de beneficio', t1.doctotal 'Total deuda'
  14.     FROM OINV t1
  15.     INNER JOIN INV1 t2 ON t1.DocEntry = t2.Docentry
  16.     WHERE t1.DocStatus = 'O'
  17. ) B ON A.cardcode = B.cardcode
  18. LEFT JOIN (
  19.     SELECT t1.cardcode, SUM(t1.doctotal) sumatoria
  20.     FROM OCRD t0
  21.     INNER JOIN OINV t1 ON t0.Cardcode = t1.cardcode
  22.     WHERE t0.cardtype = 'C' AND t1.DocStatus = 'O'
  23.     GROUP BY t1.cardcode
  24. ) C ON C.cardcode = A.cardcode
  25. GROUP BY B.Docdate, B.docduedate, B.taxdate,A.cardcode, B.Cardname, B.docnum,
  26. B.Acctcode, B.ocrCode, B.doctotal, C.Sumatoria
Solo no entiendo tu group by, donde esta el operador de agregacion, es decir, SUM, COUNT, etc.?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 26/07/2010, 10:52
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: error de sintaxis

seguro queire tomar "Group by" como un "Distinct"
  #4 (permalink)  
Antiguo 26/07/2010, 10:54
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: error de sintaxis

En ese caso esta haciendo mal uso de GROUP BY.
Solo es una observacion.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.

Etiquetas: sintaxis
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 21:41.