我的数据中有一个拼写错误,如何修复它以便我可以正确连接两个表?

时间:2017-10-04 18:23:23

标签: sql sql-server join

所以,我有一个不寻常的问题。我有两张桌子需要加入。以下是两者的示例:

Table1

enter image description here

我想加入DATE,SITA,B,C,容量,SEGMENT(来自第一个表)列,其中包括datearrived,sita,B,C,Rooms,Market_segment(来自第二个表)。

现在,我的大问题是列段中的第一个表中存在拼写错误:BAO应该是BOA。因此,BAO中的任何数据输入都不会与第二个表中的BOA匹配,因此我在进行连接时会丢失数据。

我该怎么做才能解决这个问题?我可以在连接查询中做些什么,以便sql将BAO和BOA视为同样的事情吗?

这是我的问题:

SELECT t1.DATE, t1.SITA, t1.B, t1.C, t1.Capacity, t1.REV, t1.RNS, t1.SEGMENT, t2.Rn, t2.Rev
FROM t1
JOIN t2
ON T1.B = t2.B and t1.C = t2.C and t1.Capacity = t2.Rooms and t1.SEGMENT = t2.Market_segment

任何帮助表示赞赏!

3 个答案:

答案 0 :(得分:1)

使用此选项并将表替换为表的名称:

tf.nn.top_k

然后使用join连接表。

答案 1 :(得分:1)

试试这个。

SELECT t1.DATE, t1.SITA, t1.B, t1.C, t1.Capacity, t1.REV, t1.RNS, REPLACE(t1.SEGMENT,'BAO','BOA'), t2.Rn, t2.Rev
FROM t1
JOIN t2 ON T1.B = t2.B and t1.C = t2.C and t1.Capacity = t2.Rooms and REPLACE(t1.SEGMENT,'BAO','BOA') = t2.Market_segment;

请告诉我这是否适合您。

答案 2 :(得分:0)

在JOIN ON子句或WHERE子句中(无论您在何处定义连​​接的条件),您都可以指定:

table1.Segment = table2.Market_segment
or (table1.Segment = 'BAO' and table2.Market_segement = 'BOA')