Update Table1 mit Relationship Table2

Chriss_07

Aktives Mitglied
Ich möchte eine Zelle im Table1 verschieben, wenn diese im Table2 vorkommt.
Das kann man doch mit
Code:
UPDATE
realisieren?
Folgendermaßen ist meine bisherige Herangehensweise:
SQL:
UPDATE table1 SET wohnort = ort, ort = ''
Damit soll der Wert in ORT zu WOHNORT verschoben werden und der Wert in ORT wird gelöscht.
Aber nur wenn dieser Ort im TABLE2 vorkommt.
Also habe ich das so gemacht:
SQL:
UPDATE table1, table2 SET wohnort = ort, ort = '' WHERE ort.table1 = ort.table2
Nur dann bekomme ich ein ERROR:
Code:
near ",": syntax error
Ich weiß nicht wie ich den TABLE2 referenzieren kann?
 
G

Gast2

Gast
Das geht wiedermal mit einem Subselect.

Probier mal
SQL:
UPDATE table1 SET wohnort = ort, ort = '' WHERE ort IN (SELECT ort FROM table2)
 

Chriss_07

Aktives Mitglied
Ich habe dazu nochmal eine Frage.
Wenn ich den Query um zusetzliche Pflichtfelder erweitere, bekomme ich wirre Ausgaben.
SQL:
UPDATE table1 SET wohnort = ort, ort = '' WHERE datum = '"+DateUtils.now()+"' AND rb = '1' AND ort IN (SELECT ort FROM table2)OR zielort IN (SELECT ort FROM table2);

Ich habe also als weitere Felder das Datum und Rb(0/1), sowie den Zielort, der ebenfalls ein Ort aus Table2 sein kann. Das Datum ist entweder Gestern oder Heute. Rb ist 0 oder 1.
Nur diese Spalten sollen genommen werden (Gestern/1). Genau hier soll dann der Ort zu Wohnort verschoben werden, wenn denn Ort ODER Zielort ein Ort von Table2 sind/ist.
Spalten die das Datum von Heute oder den Rb0 haben sollen nicht berücksichtigt werden, selbst wenn Ort oder Zielort als Ort in Table 2 ist.:rolleyes:
Ja
Meistens verschiebt er den Ort nicht. Wenn der Zielort ein Ort von T2 ist und das Datum von Heute, dann verschiebt er den Ort auch...... Also da mach ich doch irgendwie was falsch.
 
G

Gast2

Gast
Die Klammerung deiner WHERE-Clause wird wohl das Problem sein, z.B. alleine das der "zielort" gefunden wird macht die ganze Clause wahr. Ich glaube kaum das es das ist was du willst.

Ohne jetzt genau gelesen zu haben was du willst:
SQL:
PDATE table1 SET wohnort = ort, ort = '' WHERE 
datum = '"+DateUtils.now()+"' AND rb = '1' -- datum UND rb muss passen
AND  ( ort IN (SELECT ort FROM table2)OR zielort IN (SELECT ort FROM table2) ); -- UND ort ODER zielort muss passen
 

Chriss_07

Aktives Mitglied
Jau Perfekt.
Klammern war auch mein Verdacht, nur hatte ich die falsch gesetzt und lieber nochmal nachgefragt.

Wenn ich ein zweites
Code:
UPDATE
mit ranhängen möchte um den Rb0 abzufragen, also
SQL:
UPDATE table1 SET wohnort = zweitsitz, zweitsitz = '' WHERE datum = '"+DateUtils.now()+"' AND rb = '0'
dann habe ich beide UPDATE mit

SQL:
.....IN (SELECT ort FROM table2); " + " UPDATE table1 SET wohnort = zweitsitz,.......
verbunden. Das zweite durchläuft er nicht. Kannst du mir da mal den Fehler aufzeigen?
Oder ist eine
Code:
CASE
Anweisung besser?
 
G

Gast2

Gast
Du kannst in einem Update Statement nur einmal das Keyword UPDATE verwenden. In deinem Fall würde ich das zweite Update in einem separten Call zur DB machen und nicht versuchen das in das erste Update mit reinzustopfen. Das ginge theoretisch auch - aber dann wird das sQL langsam unleserlich und da hast du wirklich nichts von. Spätestens in einem Jahr verstehst du es selber nicht mehr. Dein Code sollte leicht lesbar und wartbar bleiben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T compiler fehler: should be mapped with insert="false" update="false" Datenbankprogrammierung 1
bueseb84 Spring Boot : Update Mysql Datenbank Datenbankprogrammierung 1
OnDemand Mysql UPDATE if condition Datenbankprogrammierung 14
OnDemand Select vs Update ins blaue, was ist teurer? Datenbankprogrammierung 11
OnDemand MySQL Trigger löst nicht aus bei Hibernate Update Datenbankprogrammierung 12
R HSQLDB ResultSet update aktualisiert DB, aber nicht das ResultSet Datenbankprogrammierung 2
F UPDATE - Befehl nur in einer Zeile Datenbankprogrammierung 11
L SQL-Statement INSERT INTO ON DUPLICATE KEY UPDATE funktioniert nicht Datenbankprogrammierung 5
M SQL-Statement SQL mit Java, Update Fehler Datenbankprogrammierung 1
OnDemand Update auf Mysql läuft nicht durch Datenbankprogrammierung 30
OnDemand SQL-Statement Update mit innerjoin Datenbankprogrammierung 18
OnDemand Update table SET will nicht Datenbankprogrammierung 9
P MySQL INSERT / UPDATE MySQL - perStoredProcedure oder direkt im Code Datenbankprogrammierung 3
S Update Tabelle aus Textfeld Datenbankprogrammierung 2
S JPA: update von Schlüsselwerten Datenbankprogrammierung 2
ruutaiokwu sql server werte swappen beim update-vorgang mit unique-constraints..? Datenbankprogrammierung 2
M Update Befehl Datenbankprogrammierung 1
S MySQL Nach wiederholtem Update falsche Werte (im Speicher?) Datenbankprogrammierung 1
M SQL-Statement Datentypen in Kriterienausdruck unverdräglich bei Update auf DB von Java aus Datenbankprogrammierung 0
M SQL UPDATE richtig anwenden BITTE um HILFE Datenbankprogrammierung 3
M SQL UPDATE führt zu JAVA Absturz Datenbankprogrammierung 6
S HSQLDB Verbieten eines update auf eine bestimmte reihe Datenbankprogrammierung 4
M Derby/JavaDB Neu geschriebener Eintrag per UPDATE lässt sich nicht unmittelbar abrufen Datenbankprogrammierung 2
S UPDATE user Datenbankprogrammierung 4
R Fehler 2601 trotz SQL-UPDATE ? Datenbankprogrammierung 2
B DB Update via batch Datenbankprogrammierung 3
H Update ganze zeile Datenbankprogrammierung 4
R sqlite UPDATE wirkt nicht aus Java Datenbankprogrammierung 7
S ID Wert von Insert über jdbcTemplate.update Datenbankprogrammierung 3
D Error 1452: Cannot add or update a child row: a foreign key constraint fails Datenbankprogrammierung 15
D SQL Update auf eine Query möglich? Datenbankprogrammierung 4
5 Datenbank Update Datenbankprogrammierung 8
A Oracle Update Befehl in Datenbank anhand einer Schleife Datenbankprogrammierung 8
turmaline Oracle "Häppchenweises" Update durchführen Datenbankprogrammierung 4
C MySQL Problem mit UPDATE Abfrage Datenbankprogrammierung 13
D ArrayIndexOutOfBoundsException bei Update von JTable und Model Datenbankprogrammierung 13
M Access Update Statement Fehler update -> unmöglich? Datenbankprogrammierung 3
J MyBatis - Update Problem Datenbankprogrammierung 4
S JPA: Problem mit Update von Daten Datenbankprogrammierung 7
I Derby/JavaDB Update Fehler Datenbankprogrammierung 4
N Update Prepared Statement Fehler bei Argumenten Datenbankprogrammierung 3
N batch-Update wird nicht durchgeführt Datenbankprogrammierung 2
R MS Access mit Java Problem mit Update Statment Datenbankprogrammierung 13
1 On duplicate Key update Datenbankprogrammierung 3
M DB update geht einfach nicht Datenbankprogrammierung 2
F ResultSet kann Datenbank nicht update, warum? Datenbankprogrammierung 3
G MySQL Update Datenbankprogrammierung 5
M MySQL größere von zwei Zahlen in Update Statement Datenbankprogrammierung 2
T Update an SQL Tabelle ?! Datenbankprogrammierung 10
C MySQL Update funktioniert nicht Datenbankprogrammierung 11
prakdi einzelnen SQL Eintrag finden der "update" enthält Datenbankprogrammierung 3
V Datenbank Update Datenbankprogrammierung 7
A update methode für datenbank Datenbankprogrammierung 2
M Hibernate: Insert statt Update Datenbankprogrammierung 8
E Update DB; Werte aus Feldern übernehmen Datenbankprogrammierung 5
H Batch Update/Insert Datenbankprogrammierung 4
E Insert oder Update- Prüfung Datenbankprogrammierung 3
H Datenbank Update Datenbankprogrammierung 3
J SQL Abfrage: Verschiedene Werte in einer Spalte mit einem Update Befehl? Datenbankprogrammierung 7
cosmic Problem beim Update einer Oracle DB Datenbankprogrammierung 7
M Update mysql Fehler ?? Datenbankprogrammierung 4
T Problem beim Update in die Access DB Datenbankprogrammierung 9
R Update Time auslesen Datenbankprogrammierung 2
T DB2 delete/update über 2 Tabellen Datenbankprogrammierung 2
K Ist mein UPDATE fehlerhaft? Datenbankprogrammierung 3
G Update-Befehl Fehlerhaft ?? Datenbankprogrammierung 2
G Update Befehl funkt nicht. WARUM? Datenbankprogrammierung 5
S Update Problem Datenbankprogrammierung 3
M Insert Update usw. Datenbankprogrammierung 2
S CashedRowSet update - oder was mache ich falsch - Datenbankprogrammierung 6
B [SQL] UPDATE oder REPLACE INTO Befehl Datenbankprogrammierung 10
S Update mit null Datenbankprogrammierung 11
H UPDATE . Datenbankprogrammierung 3
S PostgreSQL SELECT/UPDATE etc. Datenbankprogrammierung 4
T Update-Frage Datenbankprogrammierung 11
Y Hibernate - Update bestimmter Spalten Datenbankprogrammierung 2
G update sperren bei client/server anwendung Datenbankprogrammierung 7
T Diverse JDBC Probleme (inner join, rs.last(), update) Datenbankprogrammierung 2
B Update funktioniert nicht Datenbankprogrammierung 8
R Update und Insert Gleichzeitig? Datenbankprogrammierung 2
K MsAccess immer beim zweiten Update java.sql.SQLException Datenbankprogrammierung 28
N Hibernate & hsqldb: Problem bei db-update Datenbankprogrammierung 7
T Problem beim Update vom Resultset + Firebird Datenbankprogrammierung 2
G Update Statement automatisch unterteilen lassen Datenbankprogrammierung 3
G ist hieran was falsch ? UPDATE Anweisung Datenbankprogrammierung 8
W Hibernate Update Problem Datenbankprogrammierung 3
A Syntaxfehler bei update. Datenbankprogrammierung 8
O Update-Problem mit Hibernate-Framework Datenbankprogrammierung 5
L Problem mit Update Datenbankprogrammierung 14
L UPDATE löst Exception aus Datenbankprogrammierung 6
G Problem mit Datums-Format bei UPDATE Datenbankprogrammierung 3
F Update mit Prepared Statements Datenbankprogrammierung 10
Maxim6394 JPA: IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST Datenbankprogrammierung 1
O HOW TO INSERT PRIMARY INTO ANOTHER TABLE AND USE IT AS FOREIGN KEY TO DISPLAY DATA IN A RELATIONSHIP Datenbankprogrammierung 3
Z ER Diagramm erstellen (Entity-Relationship) Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben