Veröffentlicht 12. Juli 200718 j Hi, ich habe eine kleine Tabelle zum Speichern von Einstellungen, nun musste ich eine neue Spalte hinzufügen und versuche gerade das SQL-Statement anzupassen, was mir aber nicht wirklich gelingt alte Struktur: Einstellungen (text Tabelle,text Art,text Wert) neue Struktur: Einstellungen (text Tabelle,text Art,text Wert, int Sortierung) Das alte Statement was auch funktionierte war: SELECT Count(Einstellungen.Wert), Einstellungen.Wert FROM Einstellungen WHERE (((Einstellungen.Tabelle)='RFID_UU') AND ((Einstellungen.Art)='transmit')) GROUP BY Einstellungen.Wert; [/PHP] nun möchte ich die Sortierung mit reinbringen und habe das wie folgt versucht: [PHP]SELECT Count(Einstellungen.Wert), Einstellungen.Wert, Einstellungen.Sortierung FROM Einstellungen WHERE (((Einstellungen.Tabelle)='RFID_UU') AND ((Einstellungen.Art)='transmit')) GROUP BY Einstellungen.Wert ORDER BY Einstellungen.Sortierung ASC; Die Access-Fehlermeldung lautet: "Sie wollten eine Abfrage ausführen, die den angegebenen Ausdruck 'Sortierung' nicht als Teil der Aggregatfunktion einschließt." Ich hatte schon im Forum gesucht und habe ein Beispiel gefunden, welches ich mehr oder weniger nachgebaut habe, doch es funktioniert nicht. Hat jemand eine Ahnung was fehlt bzw. falsch ist? Danke, Michael
12. Juli 200718 j gude, versuch ma das attribut einstellung.wert ins order by zu packen. so mein ich das: ORDER BY Einstellungen.Sortierung ASC, count(einstellung.wert); ps das ASC kannst du dir sparen. sortiert immer aufsteigend wenn man das weglässt. wenn das nicht funzt probier ma group by count(einstellung.wert); sorry hab grad kein access zur verfügung. wenn das nicht klappt meld dich noch ma. da mach
12. Juli 200718 j Bringt beides keinen Unterschied bzw. wenn ich GROUP BY Count(Einstellungen.Wert) mache bekomme ich einen Group By-Klausel Error. Eigentlich sagt ja auch die Fehlermeldung, das irgendwas mit Sortierung nicht stimmt, aber ich versteh absolut nicht was da falsch sein soll.
12. Juli 200718 j mach ma so dein order by: ORDER BY Einstellungen.Sortierung ASC, Einstellungen.Wert ich glaub die fehlermeldung bedeutet: dass du alle attribute mitreinholen musst die nicht teil der aggregatfunktion sind (also mit denen nicht gerechnet wurde). versuch mal.
12. Juli 200718 j Bekomme immer noch die gleiche Fehlermeldung, wenn ich aber folgendes Statement benutze funktioniert es, keine Ahnung wo da wirklich nen Unterschied ist: SELECT Count(Einstellungen.Wert), Einstellungen.Wert FROM Einstellungen WHERE (((Einstellungen.Tabelle)='RFID_UU') AND ((Einstellungen.Art)='transmit')) GROUP BY Einstellungen.Wert ORDER BY Einstellungen.Wert;[/PHP]
12. Juli 200718 j Bekomme immer noch die gleiche Fehlermeldung, wenn ich aber folgendes Statement benutze funktioniert es, keine Ahnung wo da wirklich nen Unterschied ist: SELECT Count(Einstellungen.Wert), Einstellungen.Wert FROM Einstellungen WHERE (((Einstellungen.Tabelle)='RFID_UU') AND ((Einstellungen.Art)='transmit')) GROUP BY Einstellungen.Wert ORDER BY Einstellungen.Wert;[/PHP] Mein Freund, die Meldung bezieht sich nicht auf ORDER BY sondern auf GOUP BY. das Feld Sortierung muß nach group by auch genannt werden: GROUP BY Einstellungen.Wert, Einstellungen.Sortierung Greetz, S.
13. Juli 200718 j Ich war der Meinung das ich das auch schon probiert hätte, aber scheinbar doch nicht bzw. wenn dann mit Fehler SELECT Count(Einstellungen.Wert), Einstellungen.Wert FROM Einstellungen WHERE (((Einstellungen.Tabelle)='RFID_UU') AND ((Einstellungen.Art)='transmit')) GROUP BY Einstellungen.Wert, Einstellungen.Sortierung ORDER BY Einstellungen.Sortierung;[/PHP] funktioniert so wie es sollte, vielen Dank. Gruß, Michael
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.