mysql - SQL:连接具有大量列的表时删除重复列
问题描述
目标:我希望能够从JOIN
2 个表的输出中删除常见/重复的列。
问题:我在这里检查过的关于这个主题的大多数其他问题,都谈到在后面明确提及列名select
我正在处理的表通常每个都有 20 多列,单独手动编写每个列名并不是最佳选择。
因此,如果 TableA 有 A 列,而 TableB 有 B 列,它们之间有一个公共列,那么来自 JOIN 的非重复列的最终数量将是 A+B-1,其中 A, B > 20
现有查询:
-- Following query includes the duplicate column in the result
SELECT *
FROM TABLEA A
INNER JOIN TABLEB B ON (A.ID = B.ID)
WHERE <SOME_CONDITION>
我遇到的其他解决方案:
-- Following query omits the duplicate column in the result
SELECT A.ID, A.A1, A.A2, A.A3, A.A4, A.A5, A.A6, A.A7, A.A8, A.A9, A.A10,
B.A1, B.B2, B.B3, B.B4, B.B5, B.B6, B.B7, B.B8, B.B9, B.B10
FROM TABLEA A
INNER JOIN TABLEB B ON (A.ID = B.ID)
WHERE <SOME_CONDITION>
解决方案
如果唯一重复的列是JOIN
列,则可以使用以下方法解决此问题USING
:
SELECT *
FROM TABLEA A INNER JOIN
TABLEB B
USING (id)
WHERE <SOME_CONDITION>;
推荐阅读
- javascript - 在 JS 中映射 laravel 验证器错误
- java - 在邮递员中生成的客户端代码与邮递员的测试响应不匹配
- r - 防止频率形成标签
- python - 我该如何解决 SyntaxError:位置参数跟随关键字参数
- html - 如何从 jpeg 创建图像映射,然后显示带有文本的模态图像
- visual-studio-code - 在 VS Code 中使用“查找全部”时更改热键
- javascript - 为什么这些对象的内容不一样?
- regex - Firestore 正则表达式规则允许空格,但不以一个开头或结尾,也不是所有空格
- javascript - 修改MDN教程实现WebRTC一对多调用
- python - 生成randint时如何分配零数字?