2016-11-07 6 views
-1

У меня есть два стола, который выглядит, как этотSQL-Как добавить строки в новую таблицу?

enter image description here

enter image description here

Я хочу CodeID для использования в качестве Like 'value%'

Ex: Like '1%' or Like '15%' or Like '11%' независимо от значения (в codeid) для этой конкретной почты

Моя последняя таблица должна выглядеть следующим образом:

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() s не нужны.

+0

Это прекрасное спасибо. Я помечаю ваш ответ как правильно :) – Nils

+0

Единственное, что нужно сделать OP, но если я не ошибаюсь, они могут закончиться неожиданными дубликатами, так как строки «15%» будут снова включены при присоединении к подобным ' 1% ' – ThatChris

+0

Хм .. Я не точно следую ?. Test1 должен видеть все, что связано с «1%», а также «15%». Но test2 должен видеть только «15%», – Nils

Смежные вопросы