ORA-00904 "identifiant Invalide” pour un identificateur dans une clause group by

avec compiere base de données, je suis en train ro montrer

entre deux dates.

colonne:

désignation

qté vente (dépôt de la) client ventes

qté-vente, les vendeurs de vente livreur

-total qté

valeur de chiffre d'affaires par produit

pourquoi cette requête

SELECT p.name AS design,
p.M_PRODUCT_CATEGORY_ID,
il.PRICEACTUAL   AS price,
bp.C_BPARTNER_ID AS idpartner,
CASE
WHEN i.IsReturnTrx = 'N'
THEN SUM(il.linenetamt)
ELSE SUM(il.linenetamt)*-1
END AS netHT,
CASE
WHEN i.IsReturnTrx = 'N'
THEN SUM((il.linenetamt + (il.linenetamt * t.rate /100)))
ELSE SUM((il.linenetamt + (il.linenetamt * t.rate /100)))*-1
END AS netTTC,
(SELECT il.qtyinvoiced
FROM C_InvoiceLine il
WHERE bp.ISCUSTOMER ='Y'
AND bp.ISACTIVE     ='Y'
AND bp.C_BPARTNER_ID= 19999
)              AS qtydepot,
(SELECT qtyinvoiced
FROM C_InvoiceLine il
WHERE bp.ISCUSTOMER ='Y'
AND bp.C_BPARTNER_ID= 18888
)               AS qtyliv,
org.description AS orgname,
loc2.address1,
loc2.address2,
loc2.address3,
loc2.address4,
loc2.city,
loc2.postal,
oi.phone,
oi.phone2,
oi.fax,
i.DATEINVOICED AS dat
FROM C_InvoiceLine il
INNER JOIN M_PRODUCT p
ON(p.M_PRODUCT_ID = il.M_PRODUCT_ID)
INNER JOIN C_INVOICE i
ON (i.C_INVOICE_ID = il.C_INVOICE_ID)
INNER JOIN C_BPARTNER bp
ON (bp.C_BPARTNER_ID = i.C_BPARTNER_ID)
INNER JOIN AD_Org org
ON (i.AD_Org_ID = org.AD_Org_ID)
INNER JOIN C_Tax t
ON (t.C_Tax_ID = il.C_Tax_ID)
INNER JOIN ad_orginfo oi
ON (org.ad_org_id=oi.ad_org_id)
INNER JOIN c_location loc2
ON (oi.c_location_id=loc2.c_location_id)
--WHERE i.DateInvoiced BETWEEN $P{Date1} AND $P{Date2}
--AND
--i.DocStatus in ('CO','CL')
--AND i.IsSoTrx = 'Y'
--AND   p.isstocked='Y'
GROUP BY p.name ,
p.M_PRODUCT_CATEGORY_ID,
il.QTYINVOICED,
il.PRICEACTUAL,
i.DATEINVOICED,
bp.C_BPARTNER_ID,
org.description,
loc2.address1,
loc2.address2,
loc2.address3,
loc2.address4,
loc2.city,
loc2.postal,
oi.phone,
oi.phone2,
oi.fax,
i.IsReturnTrx,
i.dateinvoiced,
qtyliv,
qtydepot
ORDER BY p.name ,
i.dateinvoiced ;

me donne cette erreur:

ORA-00904: "QTYLIV" : identificateur non valide
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:
Erreur à la ligne 75, colonne 3
  • Pouvez-vous essayer de minimiser le SQL, de sorte que vous pouvez voir où vient l'erreur?
  • probleme est ici (SÉLECTIONNEZ-il.qtyinvoiced DE C_InvoiceLine il OÙ bp.ISCUSTOMER ='Y' ET bp.Est actif ='Y' ET bp.C_BPARTNER_ID= 19999 ) COMME qtydepot, (SÉLECTIONNEZ qtyinvoiced DE C_InvoiceLine il OÙ bp.ISCUSTOMER ='Y' ET bp.C_BPARTNER_ID= 18888 ) COMME qtyliv,
  • L'erreur est à la ligne 75, qui est quand vous vous référez à qtyliv dans le GROUP BY, et non pas dans une sous-requête elle-même.
  • je ne peux pas faire Tapis si vous pouvez modifier le code et de le donner à moi
InformationsquelleAutor mugiwaradz | 2014-07-27