У меня есть таблица с 4-мя колоннамиSql Вложенный запрос с MAX
Для каждого идентификатора на Col2 и для каждого значения = с на Col1, мне нужно обновить столбец DataNew с самой последней датой (из столбца данных) найден на записи, которая имеет тот же идентификатор и значение a или b на Col1
Ниже приведен пример с DataNew после обновления.
Col1|Col2|Data |DataNew
----|----|----------|-----------
a |x |12/05/2013|
b |x |12/04/2013|
c |x |12/09/2013|12/04/2013
b |x |12/08/2013|
a |f |12/06/2014|
b |f |12/04/2014|
c |f |12/09/2014|12/06/2014
d |f |12/08/2014|
(12/05/2013 = пятые на декабрь)
UPDATE TAT_Test
SET DataNew =
(select top 1 MAX(Data)
from TAT_Test
where Col1 IN ('a','b')
)
where Col1 IN ('c')
Это моя попытка, но не знаю, как показать внутри вложенного запроса, который я ищу COL1 = текущей записи
Спасибо!
Какая СУБД вы используете? Postgres? Oracle? –
Sql Server. Должен был сказать это раньше. Спасибо – user3652812
Почему Datenew 12/04/2013, а не 12/08/2013 для Col2 = x? Если в вашей выборке нет ошибки, результат не имеет смысла imo. – jpw