Правя UNION между 3 маси. За да ви поставим на снимката, една маса се счита за основна маса, а другите 2 маси се считат за подмаси. Двете подтаблици винаги имат еднакъв брой записи за всеки случай. Така че исках да направя обединение между тези 3 таблици, в това обединение бих искал да повторя информацията в колоната, извлечена в главната таблица, и да изброя информацията в 2 подтаблици, където всеки ред в подтаблица 1 съответства на реда в подтаблица 2. Не мога да поставя истинския код поради професионални причини, така че ето един прост пример, съответстващ на моя реален случай. Помислете за таблица, наречена Author (Author_ID, Author_FirstName, Author_LastName). Тази маса ще бъде нашата основна маса. Тогава помислете, че имаме таблица, наречена Адреси (Adress_ID, Street_Coord, Author_ID), това ще бъде нашата подтаблица 1. След това разгледайте таблицата, наречена Cities (City_ID, City_Name, Author_ID). Нашият автор X има 2 адреса в 2 града. Когато изпълня заявката си, получавам резултата R1, който е напълно логичен, но искам да модифицирам заявката си, за да получа резултата R2. Бихте ли ми помогнали да променя заявката си, за да получа резултата R2?
SQL заявка:
SELECT "Author"."Author_ID", "Author"."Author_FirstName", "Author.Author_LastName",
TO_CHAR(NULL) AS "Street_Coord", TO_CHAR(NULL) AS "City_Name"
FROM "Author"
WHERE "Author"."Author_ID"='X'
UNION
SELECT TO_NUMBER(NULL) AS "Author_ID", TO_CHAR(NULL) AS "Author_FirstName", TO_CHAR(NULL) AS "Author_LastName",
"Adresses"."Street_Coord", TO_CHAR(NULL) AS "City_Name"
FROM "Adresses"
WHERE "Adresses"."Author_ID"='X'
UNION
SELECT TO_NUMBER(NULL) AS "Author_ID", TO_CHAR(NULL) AS "Author_FirstName", TO_CHAR(NULL) AS "Author_LastName",
TO_CHAR(NULL) AS "Street_Coord", "Cities"."City_Name"
FROM "Cities"
WHERE "Cities"."Author_ID"='X'
Резултат R1:
ID_AUTHOR | AUTHOR_FirstName | AUTHOR_LastName | Street_Coord | City_Name |
----------------------------------------------------------------------------------
X |James | Conor | NULL | NULL |
----------------------------------------------------------------------------------
X |NULL | NULL | 1245 rich st | NULL |
----------------------------------------------------------------------------------
X |NULL | NULL | 154 music st | NULL |
----------------------------------------------------------------------------------
X |NULL | NULL | NULL | Madrid |
----------------------------------------------------------------------------------
X |NULL | NULL | NULL | Barcelona |
----------------------------------------------------------------------------------
Резултат R2: Искам да ми помогнете да получите този резултат, моля:
ID_AUTHOR | AUTHOR_FirstName | AUTHOR_LastName | Street_Coord | City_Name |
----------------------------------------------------------------------------------
X |James | Conor | 1245 rich st | Madrid |
----------------------------------------------------------------------------------
X |James | Conor | 154 music st | Barcelona |
----------------------------------------------------------------------------------
Много благодаря, Walloud