chciałbym zaktualizować wiele kolumn w tabeli na podstawie wartości z drugiej tabeli przy użyciu Select
oświadczenia w celu uzyskania wartości jak poniżej:SQL Update - wiele kolumn
UPDATE tbl1
SET (col1, col2, col3) = (SELECT colA, colB, colC
FROM tbl2
WHERE tbl2.id = 'someid')
WHERE tbl1.id = 'differentid'
Jednak nie wydaje tak, jakby można było "USTAWIĆ" więcej niż jedną nazwę kolumny - czy istnieją alternatywy zamiast pisania osobnych instrukcji aktualizacji dla każdej kolumny?
UPDATE tbl1
SET col1 = (SELECT colA FROM tbl2 WHERE tbl2.id = 'someid')
WHERE tbl1.id = 'differentid'
UPDATE tbl1
SET col2 = (SELECT colB FROM tbl2 WHERE tbl2.id = 'someid')
WHERE tbl1.id = 'differentid'
UPDATE tbl1
SET col3 = (SELECT colC FROM tbl2 WHERE tbl2.id = 'someid')
WHERE tbl1.id = 'differentid'
obie tabele nie podzielają ten sam identyfikator, jak widać w pytaniu, więc mogę umieścić WHERE dla b.id = „someid” i tbl1.id = 'differentid' –