Veröffentlicht 28. März 200718 j Hallo, ich habe folgende Abfrage: Ich habe in Access (Version 2003) eine DB angelegt und möchte nun folgende Query machen: SELECT tbl_Spielerkader.name, tbl_Spielerkader.vorname, COUNT(tbl_BegegnungTore.schuetze) AS tore FROM tbl_Saison INNER JOIN (tbl_Begegnungen INNER JOIN (tbl_BegegnungTore INNER JOIN tbl_Spielerkader ON tbl_BegegnungTore.schuetze=tbl_Spielerkader.spielerId) ON tbl_BegegnungTore.begegnungId=tbl_Begegnungen.begegnungId) ON tbl_Saison.saisonId=tbl_Begegnungen.saison WHERE tbl_Saison.default=True GROUP BY tbl_BegegnungTore.schuetze, tbl_Spielerkader.name, tbl_Spielerkader.vorname ORDER BY tore, tbl_Spielerkader.name, tbl_Spielerkader.vorname; Wirklich wichtig ist nur der count in der Select Anweisung und das Order By ganz am Schluss. Es geht darum die erzielten Tore eines Spielers anzuzeigen (summiert durch den count) und der Spieler mit den meisten Treffern soll natürlich oben auf der Liste stehen. Also möchte ich das Ganze Absteigend nach dem Feld "tore" das durch den count erstellt wurde sortieren. Wenn ich es so schreibe wie oben, dann bekomme ich in Access im die Aufforderung einen Parameter einzugeben. Ich weiß aber nicht warum! Kann ich das Attribut "tore" so nicht ansprechen kann?
28. März 200718 j Moin, SELECT tbl_Spielerkader.name, tbl_Spielerkader.vorname, COUNT(tbl_BegegnungTore.schuetze) AS tore ... ORDER BY tore, tbl_Spielerkader.name, tbl_Spielerkader.vorname; Wirklich wichtig ist nur der count in der Select Anweisung und das Order By ganz am Schluss. Probier mal: ORDER BY COUNT(tbl_BegegnungTore.schuetze) desc; Reinhold
28. März 200718 j Autor Nein funktioniert leider nicht. Bekomme eine Syntaxfehler bzw. eine Fehlermeldung die in etwas so lautet: "Die SELECT-Anweisung schließt ein reserviertes Wort oder einen Argumentnamen ein, das/der falsch, mit falscher Zeichensetzung oder überhaupt nicht eingegeben wurde. (Fehler 3141)"
28. März 200718 j ORDER BY tore DESC, tbl_Spielerkader.name DESC, tbl_Spielerkader.vorname DESC;[/PHP]eventuell?
28. März 200718 j Meist kann eine Datenbank nicht auf Alias-Namen Gruppieren oder Sortieren. In dem Fall muss man den kompletten Ausdruck/Feldnamen nochmal im Group by / Order angeben Kurzfristig geht auch so was wie "... order by 3, 1, 2"
29. März 200718 j Autor In dem Fall muss man den kompletten Ausdruck/Feldnamen nochmal im Group by / Order angeben Was meinst du den kompletten Ausdruck/Feldnamen angeben? Muss ich in den Order By Ausdruck noch mal den count() schreiben? @allesweg Geht nicht. Wie gesagt, sobald ich den namen des neuen Attributs schreibe möchte er Übergabeparameter
29. März 200718 j ja, aber eigentlich müsste die Lösung von Reinhold funktionieren, er hat das ja vorgeschlagen
29. März 200718 j ja, aber eigentlich müsste die Lösung von Reinhold funktionieren, er hat das ja vorgeschlagen Ich warte auch schon gespannt, warum das bei ihm nicht geht. Evtl. ist das ja in A03 geändert worden. Reinhold
29. März 200718 j Autor Ok, danke! Funktioniert doch! Ich habe da wohl was falsch verstanden... In meiner ORDER BY Clausel steht nun folgendes: ORDER BY COUNT(tbl_BegegnungTore.schuetze) desc, tbl_Spielerkader.name, tbl_Spielerkader.vorname; So gehts! Danke!
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.