zurück habe ich zwei Tabellen: LABELS
Tabelle hat zwei Spalten oldLabel
und label
und die andere Tabelle INVENTORY
hat eine Spalte label
die LABELS.oldLabel
die Werte der Spalte enthält.Update oder keine Spalte, wenn wählen Sie einen Datensatz
Ich möchte die Werte der Spalte INVENTORY.label
mit den Werten LABELS.label
aktualisieren. Ich habe versucht:
UPDATE INVENTORY
SET label = (SELECT label FROM LABELS AS T2 WHERE T2.oldLabel = INVENTORY.label);
, das funktioniert, aber wenn die SELECT
keinen Wert zurück, dann die INVENTORY.label
bekommt einen Nullwert. Wie kann ich die obige Abfrage ändern, wenn also die SELECT
keinen Datensatz zurückgibt, aktualisieren Sie diesen Datensatz nicht!
fand ich eine Art und Weise, die ich einige .. JAVA
Implementierung verwenden
sq = "UPDATE INVENTORY "
+ "SET label = ? WHERE label = ?";
stm = c.prepareStatement(sq);
for (Label label : labels) { //labels is an arrayList which contains both values
stm.setString(1, label.getLabel());
stm.setString(2, label.getOldLabel());
result = stm.executeUpdate();
}
Allerdings kann ich dies tun, mit SQL-Code nur?