foutmelding ODBC

Status
Niet open voor verdere reacties.

pietje1972

Gebruiker
Lid geworden
14 mei 2012
Berichten
7
Ik heb hetvolgende:

ODBC CONNECT TO extended (XUserId is cNdceHRICaQOD, XPassword is EUEPbHRICaQKO);
LOAD Sum (aantal),
cdprodukt;
SQL SELECT aantal,
cdprodukt
FROM DATA.PUB."lb-182" group by cdprodukt;

maar krijg de volgende foutmelding:

SQL##f - SqlState: S1000, ErrorCode: 4294947274, ErrorMsg: [DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Non-group-by expressie in SELECT Clause (7641)
SQL SELECT aantal,
cdprodukt
FROM DATA.PUB."lb-182" group by cdprodukt


wie kan mij helpen ??
 
Volgens mij klaagt de verbinding, omdat je:
[sql]
SQL SELECT aantal, cdprodukt FROM DATA.PUB."lb-182" group by cdprodukt;
[/sql]
doet, terwijl er geen aggregate is om te "groupen". bedoel je niet:
[sql]
SQL SELECT sum( aantal) , cdprodukt FROM DATA.PUB."lb-182" group by cdprodukt;
[/sql]
zoals er boven staat?

Het is dus volgens mij eerder een SQL error dan een ODBC error.
 
bedankt voor je reactie,

nee ik heb het geprobeerd, maar dat werkt niet. Dan krijg ik een foutmelding dat het veld "aantal" niet gevonden kan worden:

Veld niet gevonden - <aantal>
SQL SELECT sum(aantal),
cdprodukt
FROM DATA.PUB."lb-182" group by cdprodukt
 
Dat is vreemd, maar de verklaard nog steeds niet waarom je een "group by" probeert te doen in je originele query :P
 
aantal zijn het aantal dozen van een artikelcode (=cdprodukt) op voorraad.
een artikelcode heeft voorraad van verschillende soorten lotnummers.
Ik wil dus de som van aantal groeperen op artikelcode zodat ik het totaal aantal dozen van 1 artikelcode krijg.
Als ik dat nl. niet doe krijg ik verschillende aantallen dozen op voorraad voor 1 code (met verschillende lotnummers)
 
Ok, maar als "aantal" bestaat in je tabel zou mijn vorige code moeten werken.

je tabel ziet er dus zo uit? (ruwweg):

artikelcode - lotnr - aantal
1 1 3
1 2 6

en je wil als uitkomst:
1 9 ?
 
klopt inderdaad, dat is de uitkomst die ik wil
aantal bestaat in de tabel, alleen als ik sum(aantal) doe krijg ik de foutmelding
 
als je een:

select * from DATA.PUB."lb-182"

uitvoert, werkt het dan wel correct? mogelijk is je "from" statement de boosdoener. Welke database en eventueel front-end gebruik je? mogelijk zijn er uitzonderingen / specifieke syntax die van toepassing zijn.
 
nee, dat werkt ook niet, had ik ook geprobeerd al.
Ik zit te werken in Qlickview met een Extended database.

Ben inmiddels ook aan het zoeken geslagen in het Qlickview naslagwerk en daarin staat: "distinct, as, where, group by, order by en union worden niet altijd ondersteund."
Jammer genoeg wordt er verder alleen geen uitleg gegeven over het waarom daarvan....
 
probeer eens de haakjes te verwijderen of om het geheel te plaatsen:

select * from "DATA.PUB.lb-182"

of

select * from DATA.PUB.lb-182

dat moet eerst werken anders gaat het wel moeilijk worden. Nog nooit gehoord van dat ding. Maar "group by" is SQL basiscode, dat zelfs ondersteund wordt door alle gratis databases. Ik zou het wel vreemd vinden als dat is weggelaten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan