[NEWSboard IBMi Forum]
  1. #1
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392

    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

  2. #2
    Registriert seit
    Oct 2003
    Beiträge
    192
    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

  3. #3
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Hey, select from (select...) ist ja genial, sowas habe ich ja noch nie gemacht!
    Und ich dachte ich könnte SQL...

    Vielen Dank,
    Christian

  4. #4
    Registriert seit
    Jun 2001
    Beiträge
    194

    Angry 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

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    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   Namecount(Name
       
    from  x              
       group by Name 
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  6. #6
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Zitat 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

  7. #7
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Zitat 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 Namecount(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

  1. Brauche Hilfe zu FETCH xxx USING DESCRIPTOR
    By AndreasH in forum IBM i Hauptforum
    Antworten: 13
    Letzter Beitrag: 08-05-15, 13:09
  2. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  3. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    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
  •