Как объединить две таблицы sql по id? - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть две таблицы df1 и df2

df1

ID   val1 val2 val3
1     5    6    7
1     2    8    7
1     3    0    1
2     5    6    7
2     3    0    1
3     3    0    4
3     7    7    4
3     9    2    4
3     0    0    4

df2

ID
1
2

Я хотел бы объединить ID и получить только значения идентификаторов в df2:

ID   val1 val2 val3
1     5    6    7
1     2    8    7
1     3    0    1
2     5    6    7
2     3    0    1

Ответы [ 3 ]

1 голос
/ 07 февраля 2020

Попробуйте:

SELECT df1.* 
FROM df1
RIGHT JOIN df2
ON df1.ID = df2.ID

или

SELECT df1.* 
FROM DF2
LEFT JOIN DF1
ON df1.ID = df2.ID;

Вот пример демо , как это работает на SQL сервере.

0 голосов
/ 07 февраля 2020
select * from df1
where id in (select id from df2);

Это может быть то, что вы ищете? Таким образом, идентификатор столбца таблицы df2 работает как фильтр.

0 голосов
/ 07 февраля 2020

Я думаю, что вы хотите JOIN:

select df1.*
from df1 join
     df2
     on df1.id = df2.id;

Вы также можете сделать это с IN или EXISTS в предложении WHERE.

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