-
brauche SQL-Idee
Hallo,
eine einfache Fragestellung, aber ich komme nicht drauf.
Aber hier sind doch einige SQL-Experten unterwegs...
In einer Tabelle habe ich u.a. 2 Felder mit Benutzernamen: CRTUSR und CHGUSR.
Ich hätte jetzt gerne einen Select, der mir alle vorhandenen Benutzernamen sagt, wie oft er auftaucht.
Wenn User1 in beiden Feldern steht, soll dies auch doppelt gezählt werden.
Ich mache besser mal ein Bsp:
Datentabelle:
PETER PETER
MARTIN LISA
NELE PETER
soll liefern
LISA 1
MARTIN 1
NELE 1
PETER 3
Hat jemand eine Idee?
Christian
-
Hi,
Hab mal fix was zusammengebastelt bei uns... kann sein dass es auch ein wenig einfacher geht, ich habe hier nur 1 Alpha und 1 Numerisches Feld vergleichen können, daher ist evtl der tab2 ausdruck unnötig.
------------------------------
select tab2.a , sum(tab2.b) from (
select a, b from (
SELECT userfeld1 as a, count(userfeld1) as b FROM datei
group by userfeld1
union
select userfeld2 as a, count(userfeld2) as b from datei
group by userfeld2 ) as tab1 ) as tab2
group by tab2.a
order by tab2.a
-------------------------
Reicht ja vielleicht auch als Denkanstoss
Lg
Rince
-
Hey, select from (select...) ist ja genial, sowas habe ich ja noch nie gemacht!
Und ich dachte ich könnte SQL...
Vielen Dank,
Christian
-
bitte??
in der ganzen Anfrage konnte ich das Wort "bitte" nicht entdecken.
Manchmal meine ich, das Forum sei ein Selbstbedienungsladen, wo man rein geht, aussucht, (nicht zahlt) und dann geht.
Danke gibt es auch selten.
Vielleicht wäre etwas "mitteleuropäische" Höflichkeit angebracht.
Oder, ich bin einfach zu alt.
Gruss, brownie
-
Hallo,
mir persönlich sind verschachtelte Sub-Selects zu unübersichtlich. Common-Table-Expressions CTEs sind mir lieber, aber das ist bestimmt Geschmacksache.
Das obige Problem würde ich wie folgt lösen:
PHP-Code:
with x as (Select CrtUsr as Name from Mytable
Union All
Select ChgUsr as Name from Mytable)
select Name, count(Name)
from x
group by Name
Birgitta
-
Zitat von Brownie
in der ganzen Anfrage konnte ich das Wort "bitte" nicht entdecken.
Manchmal meine ich, das Forum sei ein Selbstbedienungsladen, wo man rein geht, aussucht, (nicht zahlt) und dann geht.
Danke gibt es auch selten.
Vielleicht wäre etwas "mitteleuropäische" Höflichkeit angebracht.
Oder, ich bin einfach zu alt.
Gruss, brownie
Hallo Brownie,
ich verstehe Dich nicht so recht:
"bitte" steht zwar nicht wörtlich drin, aber "hätte gerne" und wenn die Frage nicht freundlich genug formuliert ist, lag es vielleicht auch daran, dass die Frage ein wenig unter Zeitdruck entstanden ist.
Ich habe mehr Zeit reingesteckt, die Frage selbst möglichst vollständig+unmissverständlich zu formulieren, weil mich das selbst oft ärgert, wenn die eigentlichen Knackpunkte aus der Frage gar nicht klar werden.
Ein "Danke" ist für mich selbstverständlich, wenn sich jemand die Mühe macht und mir Arbeit+Zeit opfert. Ist ja aber auch da oder wie verstehst Du meine Antwort (#3)?
Und dieses Forum ist für mich in keiner Weise eine Einbahnstraße. Natürlich fragen einige Leute mehr als sie antworten und umgekehrt. Aber es scheint sich im Rahmen zu halten. Und die Atmosphäre hier im Forum finde ich prima, es gibt selten dumme Kommentare wie ich es aus anderen Foren schon erlebt habe, und wenn ich auf eine Frage stoße, zu der ich was weiß, ist es für mich selbstverständlich, dass ich dies mitteile - außer es kam mir mal wieder jemand zuvor... Ausgenutzt fühle ich mich dadurch nicht, weil ich weiß, dass ich durch den Austausch hier schon etliche Stunden Arbeit gespart habe.
Vielleicht an dieser Stelle noch einmal ein General-Dank an alle, die mir persönlich - oder in anderen Threads - viel Zeit+Mühe gespart heben .
Gruß
Christian Berlage
-
Zitat von B.Hauser
Hallo,
mir persönlich sind verschachtelte Sub-Selects zu unübersichtlich. Common-Table-Expressions CTEs sind mir lieber, aber das ist bestimmt Geschmacksache.
Das obige Problem würde ich wie folgt lösen:
PHP-Code:
with x as (Select CrtUsr as Name from Mytable Union All Select ChgUsr as Name from Mytable) select Name, count(Name) from x group by Name
Birgitta
Hallo Birgitta,
diese Variante kannte ich auch noch nicht, muss ich mal probieren, was ich lesbarer finde.
Danke!
Christian
Similar Threads
-
By AndreasH in forum IBM i Hauptforum
Antworten: 13
Letzter Beitrag: 08-05-15, 13:09
-
By christian_lettner in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 16-11-06, 10:15
-
By FNeurieser in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 11-10-06, 14:53
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 28-06-06, 14:11
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks