-
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!!
-
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
-
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,
:
:
-
 Zitat von XMan
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?
-
 Zitat von Fuerchau
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
-
 Zitat von BenderD
Schon mal was von erster Normalform gehört?
nö, hab ich mir noch nicht angesehen.
-
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
-
 Zitat von KingofKning
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!)
-
@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.
-
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.
-
@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
-
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
-
By Robi in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 22-05-03, 14:14
-
By Joe in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 15-04-03, 15:06
-
By Joe in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 01-04-03, 19:50
-
By HoScHiE in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 10-06-02, 15:06
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks