[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2005
    Beiträge
    385

    Question SQL: Anzahl Spalten die einen Wert enthalten -pro Datensatz

    Hallo zusammen,

    stehe gerade ein wenig auf dem Schlauch. Ich habe eine exemplarische Tabelle:

    Code:
    ARTIKEL   ABS01  ABS02 ABS03 ABS04 ABS05 ABS06 ABS07 ABS08 ASB09 ASB10 
    AUTO1            1        2        0       4        0        0        5        1        0        1
    AUTO2            3        0        0       0        0        0        0        0        0        1
    AUTO3            0        1        0       0        0        0        0        1        0        0
    Gibt es in SQL eine Funktion, in der ich mir die Anzahl Spalten ermittlen kann, die ungleich 1 sind???

    Also

    AUTO1 = 6
    AUTO2 = 2
    AUTO3 = 2

    Quasi ein ZÄHLEWENN aus Excel...

    Danke an alle Helfenden...

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Versuch's mal so:

    Code:
    Select  Case When ABS01 <> 1 Then 1 Else 0 End +
            Case when ABS02 <> 1 Then 1 Else 0 End +
             ....
            Case When ABSN <> 1 then 1 Else 0 End AnzSpalten
    From YourTable
    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

  3. #3
    Registriert seit
    Apr 2005
    Beiträge
    385
    Hallo Brigitta,

    danke, daran habe ich auch gedacht, aber noch gehofft das es eine Art Conditional_Coloum_Count() Funktion gibt

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Namen sind Schall und Rauch.
    Woher soll eine solche Funktion denn wissen, welche Spalten denn gemeint sind?
    Und ob der Wert numerisch, Alpha, Datum oder NULL hat soll die Funktion auch noch unterscheiden?

    Nun kannst du dir eine SQL-Function entwickeln, die den einzelnen Case-Ausdruck enthält und dir eben 0 oder 1 liefert.
    Dann kannst du einfach MyCnt(Name1) + MyCnt(Name2) + irgendwas kodieren. Aber glaube mir, das wird dann langsamer.
    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. xml pro Segment einen Datensatz ausgeben
    By rr2001 in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 29-07-15, 10:36
  2. Datensatz per Embedded SQL in Tabelle schreiben mit autogenerated Key
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 17-06-15, 14:51
  3. Antworten: 40
    Letzter Beitrag: 03-11-14, 09:15
  4. Antworten: 2
    Letzter Beitrag: 02-05-14, 08:42
  5. Virtuelle Spalten im VIEW auf NULL
    By KB in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 18-05-01, 15:04

Tags for this Thread

Berechtigungen

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