etops Geschrieben 20. August 2003 Teilen Geschrieben 20. August 2003 Hallo, ich habe ein Problem mit SELECT COUNT(*) (unter Access97): ich muß aus verschiedenen Tabellen einer Access-DB jeweils die Anzahl der Datensätze auslesen. Mit SELECT COUNT(*) funktioniert das soweit auch ganz gut. Allerdings hätte ich gerne eine neue Tabelle, in der die entsprechenden Werte eingetragen sind. Leider scheint es aber nicht zu gehen, daß man mehrere Abfragen z.B. über UNION verknüpft: die Zahlen erscheinen nur in einer neuen Zeile der gleichen Spalte, aber eben nicht (so, wie ich es gern hätte) in einer neuen Spalte. Mein Problem ist nämlich, daß ich die Zahlen nicht mehr zuordnen kann, wenn immer nur neue Zeilen angelegt werden - daher wollte ich mit SELECT COUNT(*) AS Blabla vorgehen. Weiß jemand Bescheid, wie das umsetzbar ist? Wäre super Danke+Gruß -etops- Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Peregrin Geschrieben 20. August 2003 Teilen Geschrieben 20. August 2003 hi, ich hoffe, dich richtig verstanden zu haben: du möchtest einen (oder mehrere) wert(e) und die anzahl datensätze dazu auslesen?select spalte1, spalte2, count(*) from tabelle group by spalte1, spalte2sollte das ergebnis bringen. hth Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etops Geschrieben 20. August 2003 Autor Teilen Geschrieben 20. August 2003 Nein, geht leider nicht. Soll nämlich die Datensätze aus n Tabellen zählen und dann jeweils in einer neuen Spalte ausgeben. Trotzdem erstmal danke! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
jomama Geschrieben 21. August 2003 Teilen Geschrieben 21. August 2003 Postet doch bitte immer erst den Abfrage-Code, wie er jetzt ist. Dann muss man nicht immer die Kristallkugel anwerfen. Schlimm. Hast du es schon mal mit AS probiert? SELECT COUNT(*) AS Blablaspalte From Blablatabelle SELECT COUNT(*) AS Gagaspalte From Gagatabelle Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Claus Gronemeier Geschrieben 21. August 2003 Teilen Geschrieben 21. August 2003 Guten Morgen, @etops schau mal bitte hier ... (unter "Aggregatfunktionen" oder "Group-by-Funktionen") Theoretisch sollte es so gehen: mysql> SELECT x1 COUNT(*) AS x2 -> FROM x3, x4 -> WHERE x5 = x6 -> GROUP BY x7 [/PHP] Das ist jetzt reines SQL, ich kenne mich mit Access leider nicht aus, sonst würde ich es dir kurz machen. Beste Grüße Claus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
jomama Geschrieben 21. August 2003 Teilen Geschrieben 21. August 2003 Er braucht aber mehrere Spalten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Claus Gronemeier Geschrieben 21. August 2003 Teilen Geschrieben 21. August 2003 Geht es nicht konventionell? nimm die einzelnen Ergebnisse und speicher sie in eine neue Tabelle. dieser gibst du dann für jeden Wert, welchen du haben willst, eine neue Spalte. also für jedes Count(*)-Resultat machst du eine Variable und speicherst die sogleich in die neue Datenbank. (Kannst ja auch gern ne WHILE-Schleife drum basteln... ;-)) Danach einfach: mysql> SELECT * FROM x8 somit müsstest du doch so viele Spalten bekommen, wie du benötigst, oder? [edit]mit PHP wäre das kein Problem...(habe es mit VBA aber noch nie gemacht ;-))[/edit] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Claus Gronemeier Geschrieben 21. August 2003 Teilen Geschrieben 21. August 2003 Nachtrag: So funktioniert es unter Oracle: SELECT anz1, anz2, anz3 FROM (SELECT COUNT (*) AS anz1 FROM dual), (SELECT COUNT (*) AS anz2 FROM dual), (SELECT COUNT (*) AS anz3 FROM dual) [/PHP] dual ist in diesem Fall nur ein Platzhalter für den Tabellennamen. Das Beispiel funktionierte in Access97 jedoch nicht. Evtl. gibt es da spezifische Unterschiede. Microsoft eben... ;-) Evtl. informierst du dich mal in der Hilfe unter dem Stichwort: "Kreuztabellen" Schönen Gruß Claus 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.