-1
を返した場合、私は2つのテーブルを持っている:LABELS
表には、2つの列oldLabel
とlabel
を持っており、他のテーブルINVENTORY
は、列LABELS.oldLabel
の値を含む列label
を持っています。Updateまたはない列選択がレコード
INVENTORY.label
の値をLABELS.label
の値で更新したいとします。私が試した:SELECT
が値を返さない場合は動作しますが、
UPDATE INVENTORY
SET label = (SELECT label FROM LABELS AS T2 WHERE T2.oldLabel = INVENTORY.label);
、その後、INVENTORY.label
がnull値を取得します。上記のクエリを変更するにはどうすればよいですか?SELECT
がレコードを返さない場合は、レコードを更新しないでください。
、私はいくつかのJAVA
実装を使用する方法を見つけた...が
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();
}
はしかし、私はSQLコードでこれを行うことができますか?