这可能是一个非常简单的问题,但大多数搜索都是通过合并行(不合并列)或连接它们来完成的。加入两个具有相同ID和合并ID列的表
我想连接ID列上的两个表,但我只希望它返回一个ID列。
实施例:
表1:
ID|Data1|Data2
表2:
ID|Data3|Data4
我希望它返回:
ID|Data1|Data2|Data3|Data4
编辑:
我意识到我可以指定每一列,但实际上有更接近我引入的50列,我宁愿不必指定每一列。有没有办法做到这一点,而没有指定每个列从查询中引出?
我相信自然连接是我需要的,但看到这个错误我得到:在分析过程中发现
SELECT *
FROM allqachecklists t1
WHERE t1.IsIncorrect=1
NATURAL JOIN (SELECT QAID, PMC, SiteName, Submitter, QAer FROM qabin.allqas) t2
1个错误。
无法识别的关键字。 (附近的“自然”第59位)
请阅读'JOIN' - https://www.techonthenet.com/mysql/joins。php –
我喜欢用于解释连接的维恩图方法:https://blog.codinghorror.com/a-visual-explanation-of-sql-joins/ – xQbert
随着更新:将where子句移到t2之后。 SELECT,FROM,JOINs,WHERE,GROUP BY,HAVING,ORDER BY,LIMIT(并非所有引擎)....每条语句的顺序对编译器都很重要。奇怪的是,它不按以下顺序处理数据:P – xQbert