Libre Office

sql-UPDATE von verbundenen Tabellen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Musiker
Beiträge: 12
Registriert: Do 30. Apr 2015, 13:14

sql-UPDATE von verbundenen Tabellen

Beitrag von Musiker » Do 30. Apr 2015, 13:41

Hi, geht das mit Base?
Ein Feld mit dem sql-Anweisung aktualisieren, wobei die WHERE-Bedingung über zwei verbundene Tabellen verteilt ist?

Die SQL-Anweisung sollte so aussehen:
UPDATE "F", "K" SET "K"."Spalte" = 'neuerInhalt'
WHERE "F"."Nr" = "K"."ID" AND "F"."LAND" = 'DE' AND "K"."inaktiv" = 0

Funzt aber so nicht.
Base will anstelle der zweiten Tabelle das SET. :cry:

Gibt es eine Lösung - wie sieht die aus?
DANKE für Eure Hilfe!

RobertG
* LO-Experte *
Beiträge: 2965
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: sql-UPDATE von verbundenen Tabellen

Beitrag von RobertG » Do 30. Apr 2015, 17:22

Hallo Musiker,

zwei Tabellen in der Beziehung funktionieren nicht, da das Update nur in einer Tabelle gemacht werden kann.
Versuche einmal die korrelierende Unterabfrage:

Code: Alles auswählen

UPDATE "K" AS "a" SET "Spalte" = 'neuerInhalt' WHERE  'DE' = (SELECT "LAND" FROM "F" WHERE "Nr" = "a"."ID") AND "inaktiv" = 0
Das funktioniert zumindest als Abfrage.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Musiker
Beiträge: 12
Registriert: Do 30. Apr 2015, 13:14

gelöst: sql-UPDATE von verbundenen Tabellen

Beitrag von Musiker » Di 2. Jun 2015, 09:24

Robert, das is-es! :D :D
Es funzt! Habe für meine Anwendung folgende SQL-Struktur gebaut:

Code: Alles auswählen

UPDATE "Tab1" AS "K" SET "K"."SpMt" = 'neuerText' 
WHERE "K"."SpMg" = 1 AND 'DE' =
(SELECT "F"."LAND" FROM "Tab2" AS "F" WHERE "F"."ID" = "K"."Nr" AND "F"."SpTv" = 0 AND "F"."SpBr" = 11 )  
Jetzt ist da Musik drin. DANKE

Open Office
Antworten