Flitz Geschrieben 28. März 2007 Teilen Geschrieben 28. März 2007 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 28. März 2007 Teilen Geschrieben 28. März 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Flitz Geschrieben 28. März 2007 Autor Teilen Geschrieben 28. März 2007 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)" Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
allesweg Geschrieben 28. März 2007 Teilen Geschrieben 28. März 2007 ORDER BY tore DESC, tbl_Spielerkader.name DESC, tbl_Spielerkader.vorname DESC;[/PHP]eventuell? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jan Jansen Geschrieben 28. März 2007 Teilen Geschrieben 28. März 2007 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" Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Flitz Geschrieben 29. März 2007 Autor Teilen Geschrieben 29. März 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jan Jansen Geschrieben 29. März 2007 Teilen Geschrieben 29. März 2007 ja, aber eigentlich müsste die Lösung von Reinhold funktionieren, er hat das ja vorgeschlagen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 29. März 2007 Teilen Geschrieben 29. März 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Flitz Geschrieben 29. März 2007 Autor Teilen Geschrieben 29. März 2007 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! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.