У меня есть процесс ETL, который, кажется, хорошо работает в SQL Server, но я пытаюсь перенести его на Postgresql и сталкиваюсь с чем-то, чего я не понимаю.
Я создаю таблицу с именем c_production
на первом этапе. Затем я хочу обновить все значения c_production.myValue
на основе объединения с помощью таблицы поиска с именем previous_type_year.
. В SQL Server следующий код работает нормально:
update c_production
set myValue = PTY.myValue
FROM c_production CP JOIN previous_type_year PTY
on CP.StFips = PTY.STFIPS
AND CP.comcode = PTY.comcode
AND CP.Year = PTY.YEAR
Однако, если я попробую это с Postgresql, я получу одно и то же значение снова и снова для myValue
. Я действительно не понимаю, что он делает. Какие-нибудь подсказки, которые укажут мне, почему эти две системы обрабатывают этот запрос так по-разному?