0
Я хочу сделать что-то подобное ниже. У меня есть псевдо-логика ниже. Просто интересно, как это реализовать:T-sql диапазон Запрос
delete B
from
TableA A with (nolock), TableB B with (nolock)
where A.BeginNumber <= B.startipnum and A.Endnumber >= B.endipnum
delete A
from
TableA A with (nolock), TableB B with (nolock)
where A.BeginNumber => B.startipnum and A.Endnumber <= B.endipnum
update B
set endipnum = startnumber - 1
from
TableA A with (nolock), TableB B with (nolock)
where A.BeginNumber < B.startipnum and A.Endnumber <= B.endipnum
update B
set startipnum = endnumber + 1
from
TableA A with (nolock), TableB B with (nolock)
where A.BeginNumber >= B.startipnum and A.Endnumber > B.endipnum
Примеры данных
Таблица A
BeginNumber EndNumber
---------- ---------
16843009 16843009
16843009 16843010
16843009 16843013
16843009 16843016
33686020 33686024
TableB
startipnum endIPNum
---------- ---------
1488047401 1488047401
1504824617 1873923369
1890700585 1907477801
1924255017 2142358825
2159136041 2276576553
Там нет колонн к J между двумя таблицами. Пожалуйста, помогите.
Спасибо!
Можете ли вы предоставить несколько строк данных образца из таблицы A и таблицы B? Я не совсем понимаю, что вам нужно делать. –
Я добавил его к общему вопросу выше. Форматирование становится испорченным. Пожалуйста, посмотрите. – sharadov
Я исправил форматирование (поместите таблицы в кодовые блоки для сохранения макета), поэтому для данных примера, которые вы предоставили, должны быть результаты для выполнения запросов 1,2,3 и 4? –