Я считаю, что это простой. Только начинаю работать с SQL, так что я нахожу это немного сложным. Итак, я использую SQL в SAS, и я хочу объединить две таблицы, но в разных столбцах на основе значения столбца. Практический пример:
Proc sql;
create table new_table_name as select
a.proposal_code as new_name_proposal_code,
a.1st_client_code as new_name_1st_client_code,
a.2nd_client_code as new_name_2nd_client_code,
a.3rd_client_code as new_name_3rd_client_code,
a.4th_client_code as new_name_4th_client_code,
a.product_type as new_name_product_type,
b.2nd_client_code
from existing_table a
left join existing table b (on b.2nd_client_code=a.2nd_client_code and a.product_type = "clothes") or
left join existing table b (on b.2nd_client_code=a.3rd_client_code and (a.product_type = "cars" or a.product_type = "bikes"));
quit;
Итак, это код, который я использую в настоящий момент, и цель состоит в том, чтобы объединить таблицу a и таблицу b, используя b. 2-й клиентский код = a 2-й клиентский код, если тип продукта из таблицы a = "одежда", и если тип продукта из таблицы a - "автомобили" или "велосипеды", соедините таблицу a и таблицу b, используя b.2nd client code = a.3rd client code. По сути, посмотрите на два разных «вклада», касающихся конкретного типа продукта c. При объединении этих двух таблиц, если в одной строке указан тип продукта «одежда», я хочу, чтобы он смотрел на второй клиентский код, если это либо «автомобили», либо «велосипеды», посмотрите на третий клиентский код.
Надеюсь, я прояснил это. Ошибка, которую я получаю в данный момент, - "ожидание включения". Это проблема синтаксиса?