2016-11-07 15 views
-1

我有兩個表,看起來像這樣SQL-就像將行添加到新表一樣?

enter image description here

enter image description here

我想代碼ID被用作Like 'value%'

例: Like '1%' or Like '15%' or Like '11%'無論值(代碼ID )是用於那個特定的郵件

我最後的表應該是這樣的:

enter code here

我卡上,我將如何實現這一目標

回答

3

隨着join

select t1.*, t2.codelongid 
from table1 t1 join 
    table2 t2 
    on cast(t2.codelongid as varchar(255)) like cast(t1.code as varchar(255)) + '%'; 

列名建議值是數字。雖然您使用的編號爲like,但這涉及到隱式轉換爲字符串。我更喜歡明確。當然,如果列已經是字符串,那麼cast()是不必要的。

+0

這是完美的謝謝你。 我會將你的答案標記爲正確的:) – Nils

+0

OP需要注意的唯一事情是,如果我沒有弄錯,它們可能會以意想不到的重複結束,就像'15%'的行在加入時會再次包含' 1%' – ThatChris

+0

嗯..我不完全跟隨? Test1應該會看到與'1%'有關的所有內容,還包括'15%'。但test2應該只看到'15%' – Nils

相關問題