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.

Problem mit SELECT COUNT(*)

Empfohlene Antworten

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-

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, spalte2

sollte das ergebnis bringen.

hth

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!

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

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

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]

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

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.