[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... alles viel zu kompliziert, ein einfacher subselect tut es:

    select e.snr, (select count(*)
    from andereTabelle a
    where e.snr = a....
    ...) anzahl, e.nocheinFeld...

    from eineTabelle e

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  2. #2
    Registriert seit
    Apr 2012
    Beiträge
    360
    Hallo,

    der Subselect war auch meine erste Überlegung, aber da bekomme ich in beiden Fällen immer eine 1 zurückgeliefert

    Code:
    SELECT SNR,                                                       
    (Select COUNT(*) FROM BWP D, BSP C WHERE D.SNR = C.FD1) ANZAHL,   
    DAT, TIM FROM BWP A, BSP B                                        
    WHERE SNR <> ' ' AND DAT >= 0 AND BHND >= 0 OR                    
    (SNR not in(select fd1 from BWP)) GROUP BY SNR ,                  
    DAT, TIM

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Du zählst ja auch die falsche Datei!
    da BWP auch deine Hauptdatei ist, erhälst du immer die 1.
    Du musst die BSP zählen:

    (Select COUNT(*) FROM BSP C WHERE A.SNR = C.FD1) ANZAHL,
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Könnte es nicht sein, das dieser einfache Join ohne Subselect oder Common Table Expression das gewünschte Ergebnis liefert?

    Code:
    SELECT SNR, Count(Fld1) Anzahl, 
           DAT, TIM 
    FROM BWP Left Outer join BSP on SNR = FD1 
    WHERE     SNR   <> ' ' 
          AND DAT   >= 0 
          AND BHND  >= 0 
    GROUP BY SNR , DAT, TIM
    Birgitta
    Birgitta Hauser

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

  5. #5
    Registriert seit
    Apr 2012
    Beiträge
    360
    Danke euch allen,

    Fürchau hatte damit recht das ich die Falsche Datei zähle. Peinlicher Denkfehler.

    Lg

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    @Birgitta
    Bei einer 1:N-Beziehung liefert dieser SQL die Daten aus BWP mehrfach, was hier nicht gewünscht wird.
    Ein Group By verlangsamt das ganze nur.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. SQL CASE Anweisung
    By Bobou in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 12-04-11, 13:09
  2. dynamisches Group by funktioniert nicht
    By Tobse77 in forum NEWSboard Programmierung
    Antworten: 12
    Letzter Beitrag: 24-09-09, 08:31
  3. SQL Case von mehreren Dateien
    By steven_r in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 08-08-06, 09:34
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. Cobol-Programm mit Embedded SQL (SELECT CASE)
    By klausgkv in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 08-06-06, 13:47

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •