У меня есть основная таблица, с которой я работаю, cohort_table
, которая содержит почтовые индексы в числовой форме в трех разных столбцах, customer_zip
, payer_zip
, provider_zip
. Я хочу объединить эту таблицу с другой таблицей, city_zip
, которая имеет числовые почтовые индексы в 3-значной форме в столбце с именем zip3
и 5-значную форму в столбце с именем zip5
, а также город, который представляет каждый почтовый индекс city_name
. Короче говоря, я хочу присоединиться к таблицам, где customer_zip
= zip3
, а где payer_zip
= zip5
, а где provider_zip
= zip5
. Когда я запускаю это, я получаю результаты, которые я ищу:
select *
from cohort_table
left join city_zip on zip3 = customer_zip
Однако, когда я пытаюсь выполнить все три объединения одновременно, я получаю сообщение об ошибке, что таблицы неоднозначны.
select *
from cohort_table
left join city_zip on zip3 = customer_zip
left join city_zip on zip5 = payer_zip
left join city_zip on zip5 = provider_zip