Zum Inhalt springen

Count in Oracle; Sql


Gschprusel

Empfohlene Beiträge

Hallo zusammen,

ich habe ein kleines Problem. Ich möchte mir daten aus einer Oracle-Tabelle lesen, in der:

1. Bestimmte einträge aus "Spalte1" liest. (geht)

2. Bestimmte einträge aus "Spalte2" liest. (geht)

3. Einen Count auf bestimmte einträge aus den Spalten 3 und diese jeweils zuordnet.

Die Tabelle sieht so aus

spalte1 spalte2 spalte3

AAA 111 J

AAA 222 N

AAA 222 J

AAA 222 J

BBB 222 N

BBB 333 N

BBB 222 N

BBB 333 J

CCC 111 N

CCC 333 N

CCC 111 J

CCC 222 N

also es sind alle kombinationsmöglichkeiten erlaubt

die ausgabe der Daten (von oben sollte nun so aussehn)

Spalte1 | Spalte2 | J | N

AAA 111 1 0

AAA 222 2 1

BBB 222 0 2

BBB 333 1 1

CCC 111 1 1

CCC 222 0 1

CCC 333 0 1

Ist für euch mein Problem plausibel? Ich mache einen select auf die Tabelle und dann ein group by auf spalte1, spalte2. Jedoch weiß ich nicht, wie ich es hinbekomme die Zählerspalten (j/n) so zu füllen, dass es pro zeile die jeweilige anzahl aus Spalte1 und Spalte2 zählt.

Danke schon mal für eure Hilfe

Gruß

Uli

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin,

mal so aus der hohlen Hand und wie immer ungetestet:


select spalte1, spalte2

, sum(case when spalte3 = 'J' then 1 else 0 end) as J

, sum(case when spalte3 = 'N' then 1 else 0 end) as N

from tabelle

group by spalte1, spalte2 

ich nehme an, dass das unter Oracle8 nicht funktioniert, ab Oracle9 sollte das im Prinzip aber klappen.

Reinhold

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dankeschön.... hat sich erledigt, es geht so... falls nochmal jemand das gleiche problem hat:


select a.spalte1, a.spalte2,

(select count(*) 

from tabelle b 

where b.spalte2 = a.spalte2 

and b.spalte1= a.spalte1 

and spalte3 = 'J') 

as JA, 

(select count(*) 

from tabelle b 

where b.spalte2 = a.spalte2 

and b.spalte1= a.spalte1 

and spalte3 = 'N') 

as NEIN

from tabelle a 

group by spalte2, spalte1

hätte ich nicht gedacht dass es so geht... *Asche auf mein Haupt* :upps

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...