Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Access: SQL mit Order By funktioniert nicht

Empfohlene Antworten

Veröffentlicht

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

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

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.

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.

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]

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.

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.