Как изменить все записи из столбца, если они имеют один индекс oracle - PullRequest
0 голосов
/ 17 января 2020

У меня очень интересная ситуация. Допустим, у меня есть 3 почтовых отделения, 2 из них имеют тип «ТПС» и 1 «ПВПЗ», моя задача - указать адрес «ТПС» в «ПВПЗ», если они имеют одинаковый индекс.

вот мой скрипт

SELECT
PARENTPOSTDISTRICT.POSTCODE,
CASE WHEN ??? THEN ??? END address,
PARENTTYPE.ACRONYM_UA

FROM ADDR_POSTOFFICE PARENT
INNER JOIN ADDR_POSTOFFICETYPE PARENTTYPE
ON PARENT.POSTOFFICETYPE_ID = PARENTTYPE.ID AND PARENTTYPE.ACRONYM_UA IN ( 'ПВПЗ','ТПС')
INNER JOIN ADDR_POSTDISTRICT PAREntPOSTDIStRICT ON PARENT.ID = PAREntPOSTDIStRICT.POSTOFFICE_ID

WHERE PARENT.DATESTOP >= SYSDATE
AND PARENTPOSTDISTRICT.POSTCODE = '20234';

ADDR_POSTOFFICE - таблица с почтовыми отделениями. ADDR_POSTOFFICETYPE - таблица с типами почтовых отделений. ADDR_POSTDISTRICT - допустим, это таблица с почтовыми индексами. последнее условие, POSTCODE = INDEX (PARENTPOSTDISTRICT.POSTCODE = '20234')

какие-либо решения? если вам нужна дополнительная информация, просто спросите, я понимаю, что это сложно.

в другом примере у меня есть 3 цвета с 3 числами и одинаковыми индексами

black, test1, 1
yellow, test2, 1
red, test3, 1

мне нужен результат, чтобы быть

black, test1, 1
yellow, test1, 1
red, test3, 1

и точно значение там не просто строка, это запись из строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...