[OracleSQL] Gross-/Kleinschreibung gemeinsam finden

m3000

Erfahrenes Mitglied
Hallo,

ich möchte Feldinhalte gemeinsam zählen, egal ob sie in der DB gross oder klein geschrieben sind.

Ausgangpunkt ist (immernoch) sowas wie:

Code:
  select
          substr(col,1,2), count (*) "Anzahl"
          from table
          where
          substr(col,1,2) IN
           (
           'Aa',
       'AA',
           'Bb',
           'BB',
       )
          group by substr(col,1,2)
        ;
Die Ausgabe sieht jetzt in etwa so aus:
Code:
SU 	 Anzahl
      --  ----------
      Aa 	   8
      AA 	  39452
      Bb 	 12
      BB 	 5664
Ich hätte es gern summiert:
Code:
SU 	 Anzahl
       --  ----------
       AA 	  39460
       BB 	 5676
Das kann (bevorzugt) in der Abfrage passieren oder durch Aufbereitung anschliessend. Ich habe mich schon an UPPER versucht, aber da wird nur die Ausgabe umformatiert, so dass das anschliessende group by keine Gemeinsamkeit erkennt.

Dank und Gruss
m3000
 
Hallo!

Schau mal hier:

Code:
SQL> select * from t;

VALUE
--------------------------------
Aaa
AaA
aAa
Bbb
bbB

(Temporäre Tabelle:)

SQL> select * from u;

VALUE
--------------------------------
AAA
BBB
CCC

SQL> select u.value,count(t.value) Anzahl from u left outer join t on u.value = upper(substr(t.value,1,3)) group by u.value;

VALUE                                ANZAHL
-------------------------------- ----------
AAA                                       3
BBB                                       2
CCC                                       0

Gruß Tom
 
Danke Tom,

aber leider habe ich Deinen join-Vorschlag nicht in meine echte Umgebung übertragen können.
Da ich diesen Bericht (voraussichtlich) nur einmal oder vielleicht jährlich zu erstellen brauche, schlage ich jetzt einen umständlichen und unperformanten Weg ein: Ich zähle erst in einer Abfrage die Aaa und die AAA, anschliessend summiere ich die Werte in der Anzahl-Spalte. Dann das ganze mit den Bbb, dann Ccc usw., insgesamt 18 Strings.

Mich erstaunt, dass SQL so eine vermeintlich einfache Zeichenumwandlung nicht in der Abfrage beherrscht, aber sei's drum.

Vielen Dank trotzdem und Gruss
Marcus
 

Neue Beiträge

Zurück