TableA包含
cola1 | cola2 | cola3 | colAB
-----------------------------------
a1 a2 a3 1
a11 a22 a33 1
TableB包含
colb1 | colb2 | colb3 | colAB
-----------------------------------
b1 b2 b3 1
b11 b22 b33 1
我想要这样的结果:
cola1 | cola2 | cola3 | colb1 | colb2 | colb3 | colAB
----------------------------------------------------------
a1 a2 a3 b1 b2 b3 1
a11 a22 a33 b11 b22 b33 1
如何获得这个?
由于
答案 0 :(得分:0)
SELECT [fields you want]
FROM TableA
JOIN TableB ON TableA.colAB=TableB.colAB;
请阅读SQL JOIN
答案 1 :(得分:0)
select cola1, cola2, cola3, colb1, colb2, colb3, a.colAB
from TableA a
inner join TableB b on a.colAB = b.colAB
编辑:这是不正确的:根据另一个答案的评论,这也将导致四行。
答案 2 :(得分:0)
你的问题是,你需要了解这两个表是如何相关的,因为乍一看它们不是。这是业务需求问题,而不是语法问题。在查询数据之前,您需要了解数据的含义。看起来好像关系是你需要从两个表中的col1中删除第一个字符并加入它。根据提供的非常有限的数据集,判断coudl是一种肤浅的猜测。你需要了解这些领域的污点以及它们应该如何相互关联。这意味着您需要向业务部门询问我们。
如果我的猜测是正确的,那么您需要修复数据模型。删除字符以执行连接是无效的。如果数据应该是相关的,那么您必须在其中一个表中包含外键字段。如果这些是(或最终将是)大表,则尤其如此。
如果您确实需要去除前导字符,则可以通过创建计算字段来转换数据。在这种情况下,您需要非常确定,如果存在包含多个要删除的单个数字字符的字符,则始终存在前导字符以及您需要执行的操作。这可能变得非常复杂,但每次查询时创建一个新字段以加入时,最好做一次。此时修复数据模型不是可选的,除非这是一次永远不会再发生的一次性数据转换。