2016-10-01 16 views
0

LENを使用して長さ()2台は、我々は彼らの私が持っている

nameB 
---------- 
1234   
1235  

は、私が1235年に1235Aに参加したい

nameA 
---------  
1234A 
1235A 

表Bとに基づいてテーブルを結合することができ、私の期待外出は

nameA nameB   
1234A 1234   
1235A 1235   

名前欄のlen()を使用して両方のテーブルに参加できますか?

+0

あなたの質問は不明です。 AがBよりも多くの行を持っていたら? Bの2つの行に1235がある場合はどうなりますか?あなたが望む正確な論理は明確ではありません。 –

+0

というのは、テーブルAのテーブルには2行しかないと言うことができます。テーブルには1234Aがあり、テーブルBには1234があります。テーブルAの部分文字列を使用してからtablebに結合できますか? –

答えて

1

あなたはこれを試すことができます - どちらの側の名前も小さな名前の長さに一致します。 substringの長さパラメータが入力文字列の長さより大きい場合は、元の文字列を返します。

select * from 
TableA A inner join TableB B 
on SUBSTRING(A.NameA, 1, len(B.NameB)) = SUBSTRING(B.NameB, 1, len(A.NameA)) 
+0

どうもありがとう !!!!!!!!!! –

0
Select * from 
TableA a join TableB b on 
Left (a.nameA,4)= b.nameB 

上記のコードを試してください。

0

あなたはこのような何かを行うことができます:

select a.name, b.name 
from a join 
    b 
    on a.name like b.name + '%'; 

この質問はあなたの元の質問とは非常に異なっています。別の質問がある場合は、これを変更しないでください。新しい質問としてそれを求めてください。

関連する問題