2014-02-27 115 views
-1

我有這個數字在我的表中列X ='054939393000'(數據類型:字符串)這個數字是其他表中的四個字段的組合..如何比較這兩個表與這個組合?如何寫入sql查詢

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查詢來檢查這些字段與其他表?在其他表這些領域有四種不同的列..

感謝

+1

什麼是X的類型?字符串或int? –

+0

對不起,它有類型字符串 – user300485

+0

@RagingBull我相信一個int不會有單引號? –

回答

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) 

瞭解更多關於SUBSTRINGhere

3

使用字符串函數

SUBSTRING(場,開始位置,長度)

A = SUBSTRING(X, 1, 3) and 
B = SUBSTRING(X, 4, 4) and 
C = SUBSTRING(X, 8, 2) and 
D = SUBSTRING(X, 11, 3) 
4

可以Concat的4列並將其與單柱即

SELECT ... FROM tbl1 INNER JOIN tbl2 ON tbl1.x = CONCAT(tbl2.A,tbl2.B,tbl2.C,tbl2.D)