Отфильтруйте значение из двух таблиц после объединения обоих - PullRequest
0 голосов
/ 25 февраля 2020

Первое: скажите, что это сообщение относится к url

Второе: если вы видите следующее изображение: image

Я хочу отфильтровать один идентификатор. просто, если я go в таблицу 2 и просматриваю мою запись, используя идентификатор, но проблема в том, что мне нужна некоторая информация из таблицы 1, которой у меня нет в таблице 2

, чтобы показать это в form.

В-третьих: если моя таблица 2 пуста, когда я фильтрую по 654 идентификатору, мой запрос должен взять всю информацию из таблицы 1

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

SELECT f.id_hist, f.producto, f.price
FROM TABLE(fnc_historical('JAP')) f
WHERE f.id_hist IN
(SELECT DISTINCT f.id_hist
FROM TABLE(fnc_historical('JAP')) f
    inner join new_table g on (f.id_new = g.id_hist)
    where f.id_new = 654
)
UNION
SELECT f.id_hist, f.producto, g.new_price
FROM TABLE(fnc_historical('JAP')) f
    inner join new_table g on (f.id_new = g.id_hist)
where f.id_new = 654

, но этот код возвращает две записи со значениями 40 и 25

С уважением

1 Ответ

2 голосов
/ 25 февраля 2020

Похоже, вам нужно левое соединение с функцией объединения (она получает значение первого значения, а если оно равно нулю, то получает второе значение)

SELECT f.id_hist, f.producto, f.place, COALESCE(g.price,f.price) as price
FROM TABLE(fnc_historical('JAP')) f
LEFT JOIN new_table g on (f.id_new = g.id_hist)
WHERE f.id_hist = 654
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...