sql - 如何加入 2 个不同 id 的表
问题描述
我进入了一个奇怪的环境
TableA
ID Field2 field3
1 Test1 IDB1
1 test1 IDB2
2 Test2 IDB3
TableB
ID Field2 field3
1 otherTest1 IDC1
1 othertest1 IDC2
2 otherTest2 IDC3
对于每个 IDB,我们都有一个 IDC。IDB 和IDC 不同但数量相同,目前唯一的关系是ID。我怎样才能加入/粘贴这些表?如果我尝试加入显然会“重复”行导致 IDB 和 IDC 不同
连接将如下所示:
TableC
ID Field2 field3
1 IDB1 IDC1
1 IDB1 IDC2
2 IDB2 IDC3
我想要完成的是:
TableC
ID Field2 field3
1 IDB1 IDC1
1 IDB2 IDC2
2 IDB3 IDC3
3 IDB4 IDC4
3 IDB5 IDC5
4 IDB6 IDC6
解决方案
您只需要删除两个表之间不常见的 id 列以避免重复:
SELECT DISTINCT
a.fields, b.fields -- just don't use the id
FROM
tableA AS a
INNER JOIN
tableB AS b
ON
b.commonId = a.commonId
推荐阅读
- laravel - 更新到 2.29 后启动 Laravel Homestead 时出错
- phoenix-framework - Phoenix different title per page with root module
- flutter - Dart: How to make GET request with body
- java - 为什么我的计算是错误的?Java反向int问题
- c++ - 错误多重定义。我添加了关键字“extern”并再次出现错误
- pandas - 为什么 df.to_csv() 函数不起作用
- python - 为什么我在 Python 中的堆栈上出现错误?
- python - 是否有将外部文件导入主文件的功能?
- java - Java,不适用于参数,仿射变换?
- python - Pandas 在错误的图表中显示数据