如何编写sql查询

时间:2014-02-27 04:50:14

标签: mysql sql sql-server

我的表格中的这个数字在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查询来检查这些字段对另一个表?在其他表中,这些字段有四个不同的列..

由于

3 个答案:

答案 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)