我的表格中的这个数字在X列='054939393000'(数据类型:字符串)这个数字是其他表中四个字段的组合。如何用这个组合比较这两个表?
A, B , C and D
A field will have first three letter '054'
B field will have '9393'
C field has '93'
D filed has '000'
如何编写sql查询来检查这些字段对另一个表?在其他表中,这些字段有四个不同的列..
由于
答案 0 :(得分:4)
使用Substring
尝试。
检查以下字段:
WHERE A=SUBSTRING(X,1,3)
AND B=SUBSTRING(X,4,4)
AND C=SUBSTRING(X,8,2)
AND D=SUBSTRING(X,11,3)
语法:
SUBSTRING ( expression ,start , length )
详细了解SUBSTRING
here。
答案 1 :(得分:4)
您可以连接4列并将其与单列进行比较,即
SELECT ... FROM tbl1 INNER JOIN tbl2 ON tbl1.x = CONCAT(tbl2.A,tbl2.B,tbl2.C,tbl2.D)
答案 2 :(得分:3)
使用SubString函数
SUBSTRING(字段,开头,长度)
A = SUBSTRING(X, 1, 3) and
B = SUBSTRING(X, 4, 4) and
C = SUBSTRING(X, 8, 2) and
D = SUBSTRING(X, 11, 3)