User_Details с user_id, Статус (1/0), имя и т.д.Объединение двух таблиц в существующую таблицу с третьей CROSS JOIN -
Регионы, с тремя регионами: США, Европа, Азия, с соответствующим ID # 1,2 и 3.
User_Region_Mapping, отображающие user_id с region_id, которые дают доступ к различным регионам, который содержит user_id, region_id, и состояние (1/0)
Я пытаюсь создать запрос, который dds каждый отдельный регион для каждого пользователя ACTIVE (aka status = 1), избегая избыточных точек данных, которые уже существуют в таблице User_Region_Mapping (оставляя там существующие данные).
Таким образом, каждый активный идентификатор пользователя имеет три строки с идентификаторами региона 1,2,3, где для каждого из них установлено значение 1, поскольку статус не может быть нулевым. Я знаю, что я должен использовать сочетание CROSS JOIN и LEFT JOIN
SCRIPTS для ТАБЛИЦЫ:
CREATE TABLE "MYDB"."USER_REGION_MAPPING"
( "USER_ID" NUMBER NOT NULL ENABLE,
"REGION_ID" NUMBER NOT NULL ENABLE,
"STATUS" NUMBER NOT NULL ENABLE,
"CREATED_BY" VARCHAR2(50),
"MODIFIED_BY" VARCHAR2(50),
}
CREATE TABLE "MYDB"."USER_DETAILS"
( "ID" NUMBER,
"LOGIN_ID" VARCHAR2(100),
"EMAIL_ID" VARCHAR2(150) NOT NULL ENABLE,
"REGION_CODE" NUMBER,
"FIRST_NAME" VARCHAR2(50),
"MIDDLE_NAME" VARCHAR2(50),
"LAST_NAME" VARCHAR2(50),
"IS_PRIMARY" NUMBER,
"STATUS" NUMBER NOT NULL ENABLE,
PRIMARY KEY ("ID")
}
CREATE TABLE "MYDB"."REGIONS"
( "ID" NUMBER,
"CODE" VARCHAR2(20 CHAR),
"NAME" VARCHAR2(20 CHAR),
"IS_DEFAULT" NUMBER,
"STATUS" NUMBER,
"CREATED_BY" VARCHAR2(50),
"MODIFIED_BY" VARCHAR2(50),
"CREATED_DATE" DATE,
"MODIFIED_DATE" DATE,
PRIMARY KEY ("ID")
}
Пожалуйста, помогите !!
Как насчет статуса пользователя = 1 и установить для всего региона-пользователя статус отображения 1? – user7470849
добавьте это во внешнее предложение where. – MikeS