[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Hybrid View

  1. #1
    Registriert seit
    Feb 2006
    Beiträge
    78

    SQL UPDATE mit Feldabfrage und Verschachtelung

    Hallo Zusammen,

    stehe wieder mal vor einem SQL Thema.

    Ich möchte gerne zwei Feldwerte in eine DB speichern wenn wenn die Felder leer sind.
    Sind die Felder nicht leer so sollten diese Werte in die nächsten Felder (gleicher Satz) gespeichert werden. Sind diese auch schon belegt, dann eben in die nächsten Felder usw.

    Beispiel Satzaufbau:
    Person, Feld1, Feld2, Feld3, Feld4, Feld5, Feld6, Feld7, Feld8

    Nun zu meinem Update, sind Feld1 und Feld2 leer dann diese befüllen, sind diese belegt dann Feld3 und Feld4 befüllen, sind diese auch schon belegt dann Feld5 und Feld6 belegen usw.

    ist das einfach machbar oder wird dies kompliziert?

    Danke!!

  2. #2
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Du könntest dir folgendes basteln:
    Code:
    Update Tab1 set 
    Feld1 = Case When Feld1 = '' then 'Neuer Wert' else Feld1 end,
    Feld3 = Case When Feld1 <> '' then 'Neuer Wert' else Feld3 end, ...
    lg Andreas

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    So einfach ist es leider nicht!
    Wenn alles leer ist, wird alles gefüllt.
    Es wird schon etwas Komplizierter:

    f1 = case f1 when '' then 'Neu' else f1 end,
    f2 = case when f1<>'' and f2='' then 'neu' else f2 end,
    f3 = case when f1<>'' aand f2<>'' and f3='' then 'neu' else f3 end,
    :
    :
    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
    Feb 2006
    Beiträge
    78
    Zitat Zitat von Fuerchau Beitrag anzeigen
    So einfach ist es leider nicht!
    Wenn alles leer ist, wird alles gefüllt.
    Es wird schon etwas Komplizierter:

    f1 = case f1 when '' then 'Neu' else f1 end,
    f2 = case when f1<>'' and f2='' then 'neu' else f2 end,
    f3 = case when f1<>'' aand f2<>'' and f3='' then 'neu' else f3 end,
    :
    :
    Danke!!
    That´s it!

    So habe ich mir das vorgestellt.

    SG

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von XMan Beitrag anzeigen
    Hallo Zusammen,

    stehe wieder mal vor einem SQL Thema.

    Ich möchte gerne zwei Feldwerte in eine DB speichern wenn wenn die Felder leer sind.
    Sind die Felder nicht leer so sollten diese Werte in die nächsten Felder (gleicher Satz) gespeichert werden. Sind diese auch schon belegt, dann eben in die nächsten Felder usw.

    Beispiel Satzaufbau:
    Person, Feld1, Feld2, Feld3, Feld4, Feld5, Feld6, Feld7, Feld8

    Nun zu meinem Update, sind Feld1 und Feld2 leer dann diese befüllen, sind diese belegt dann Feld3 und Feld4 befüllen, sind diese auch schon belegt dann Feld5 und Feld6 belegen usw.

    ist das einfach machbar oder wird dies kompliziert?

    Danke!!
    Schon mal was von erster Normalform gehört?
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    Registriert seit
    Feb 2006
    Beiträge
    78
    Zitat Zitat von BenderD Beitrag anzeigen
    Schon mal was von erster Normalform gehört?
    nö, hab ich mir noch nicht angesehen.

  7. #7
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Mal ganz ehrlich.Es motiviert einen nicht wirklich zu antworten, wenn der Fragesteller offen bekennt das er das Handwerkszeug für seinen Job nicht kennt.Und Normierung einer Datenbank sind wirklich Grundlagen...Mag am Alter liegen das ich das so sehe, aber da die meisten ähnlich alt sind werden sie vermutlich ähnlich denken..... GG

  8. #8
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Zitat Zitat von KingofKning Beitrag anzeigen
    Mal ganz ehrlich.Es motiviert einen nicht wirklich zu antworten, wenn der Fragesteller offen bekennt das er das Handwerkszeug für seinen Job nicht kennt.Und Normierung einer Datenbank sind wirklich Grundlagen...Mag am Alter liegen das ich das so sehe, aber da die meisten ähnlich alt sind werden sie vermutlich ähnlich denken..... GG
    Volle zustimmung eines 49,5 jährigen!

    Wobei ich 'Nicht kennen' nicht schlimm finde, 'nicht kennen wollen' sehrwohl!
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  9. #9
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    @KingofKning: Sorry, aber alles ok bei dir?? Es kann doch nicht sein, dass wenn jemand zugibt etwas nicht zu wissen, gleich darauf los geht!
    Es ist absolut OK wenn man (so wie Bender) Hinweise gibt wie es eigentlich richtig gemacht gehört. Jedoch destruktive Beiträge fördern nicht gerade die Zukunft dieses Forums.
    Ich habe schon einige Kollegen oder Schüler kennen gelernt, die sich nicht trauen eine Frage zu schreiben, genau aus diesen Gründen.

    Sorry nochmal, aber das musste jetzt mal (für alle) gesagt werden.

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Wenn man mit "Alt"-Anwendungen zu tun hat, so ist dort nachträglich eine Normierung einzuführen vollkommen unmöglich. Schließlich sind davon meist viele Programme betroffen.
    Allerdings frage ich mich, warum in der DB2/400 Array-Felder (was andere DB's schon länger haben) eingeführt wurden, die doch absolut gegen Normierung sprechen.
    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

  11. #11
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    @Andreas und Baldur

    Ihr habt beide recht, aber ein
    nö, hab ich mir noch nicht angesehen.
    suggeriert doch deutliches Desinteresse.
    Und das verärgert einen schon ein wenig

  12. #12
    Registriert seit
    Oct 2013
    Beiträge
    175
    Tja, das ist halt der Nachteil unserer Plattform, nirgends kann man mit dem konservierten Wissen von 1990 ohne irgendeinen Wunsch zum Dazulernen noch überleben.
    Und genau solche Applikationen und Experten sorgen auch für den antiquierten Ruf.
    Die Maschine oder das Betriebssystem können - außer dem zweischneidigen Schwert Investitionsschutz - nichts dafür.
    Aber es wäre ja fast gut gegangen, er hat ja die Antwort bekommen, die er verdient hat (Gestern, 13:03). :-)

    Da wird nicht gefragt, um was zu lernen. Da wird gefragt, um das Problem gelöst zu bekommen, das man mit Lernen gar nicht gehabt hätte.

    Und Senf gibt's gratis dazu. :-)

Similar Threads

  1. SQL update mit order by
    By Robi in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 22-05-03, 14:14
  2. SQL update
    By Joe in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 15-04-03, 15:06
  3. SQL update
    By Joe in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 01-04-03, 19:50
  4. Update DTAARA in RPG/LE
    By HoScHiE in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 10-06-02, 15:06
  5. Update mit SQL
    By schreibr in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 12-09-01, 08:22

Berechtigungen

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