[NEWSboard IBMi Forum]

Thema: SQL Subselect

  1. #1
    Registriert seit
    Aug 2006
    Beiträge
    2.077

    SQL Subselect

    Hallo *all,

    ich bin gerade dabei eine komplexere SQL-Abfrage (VIEW) zu modifizieren. Bei einem Problem weiß ich noch nicht wie ich es lösen soll.

    das ist der Istzustand:

    CAST(CASE WHEN T01.ADID6 <> T01.ADKTO THEN SUBSTR(HEX(INT(DIGITS(ADID6))), 4, 6) ELSE SUBSTR(HEX(INT(DIGITS(ADSA16))), 4, 6) END AS CHAR(5) CCSID 273) AS PLKZ

    Jetzt muß ich aber prüfen wenn ADID6 = Adkto ist, ob dann in einer Datei ein Satz des Kunden enthalten ist.
    Wenn die Anzahl der Sätze größer 0 ist, soll er mir ADID6 ins PLKZ schieben.

    Es würde mir auch schon genügen zu sagen:

    Wenn Anzahl Sätze in Dat5 mit adid6 > 0 dann adid6 ansonsten adsa16

    Ich habe mal Tests gemacht, scheitere aber wohl an der richtigen Syntax:

    select adkto, cast(when select * from rptrade/dat005 > 0 then 1 else
    2) from adr01pf

    Für Hinweise dankbar.

    GG

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.245
    Ein skalarer Subselect muss in Klammern gesetzt werden:

    case when (select Count(*) from ... where outerkey=innerkey) > 0 then v1 else v2 end

    Über die Performance darfst du dir da nun keine nennenswerten Gedanken machen.
    Ab V6 kann man den Subselect ggf. auch einschränken mit "...where ... fetch first 1 rows only", da ja die Anzahl nicht wirklich interessiert.
    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

  3. #3
    Registriert seit
    Aug 2006
    Beiträge
    2.077
    Danke,
    ich lerne doch jeden Tag dazu. In 17 Jahre beim Renteneintritt bin ich perfekt und bekomme als Abschiedgeschenk eine AS/400 aus dem Museum.

    GG

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.245
    Davon kann ich mich auch nicht freisprechen, aber ich lerne gerne.
    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

Berechtigungen

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