Как лучше всего объединить эти наборы данных, чтобы получить желаемый формат? - PullRequest
0 голосов
/ 20 апреля 2019

Выполняю ELT-работу ...
Каков наилучший способ объединить эти наборы данных в форму желаемого результата:

Набор данных A:

| project_id1 | types1 |  
A, apple  
B, banana  

Набор данных B:

| project_id1 | project_id2 | types2 |  
A, 15, strawberry    
A, 25, onion  
B, 5, peach  

Желаемый результат:

| project_id1 | project_id2 | types |  
A, 15, strawberry  
A, 15, apple  
A, 25, onion  
A, 25, apple  
B, 5, peach  
B, 5, banana  

И есть ли название для этого типа комбинации?

1 Ответ

1 голос
/ 20 апреля 2019

Вы можете получить эту информацию следующим образом:

Таблица

create table da (
    project_id1 char(1),
    types1 varchar(100)
);

insert into da values
('A', 'apple'),
('B', 'banana');

create table db (
    project_id1 char(1),
    project_id2 int,
    types2 varchar(100)
);

insert into db values
('A', 15, 'strawberry'),
('A', 25, 'onion'),
('B', 5, 'peach');

Запрос

select * from (

    select da.project_id1, db.project_id2, da.types1 as types
    from da
    inner join db on da.project_id1 = db.project_id1

    UNION ALL

    select db.project_id1, db.project_id2, db.types2 as types
    from db
) x

order by project_id1, project_id2, types desc;

Результат

project_id1 project_id2 types
A                 15    strawberry
A                 15    apple
A                 25    onion
A                 25    apple
B                  5    peach
B                  5    banana

Пример

https://rextester.com/ISQA20343

Я не знаю названия такого родаобъединение данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...