|
v7: Сравнение массивов |
☑ |
0
Eeakie
28.12.18
✎
13:30
|
Добрый день. Нужно найти первое незанятое число в массиве.
Например, есть массив {1,2,4}. Нужно сравнить его с массивом {1,2,3,4,5} и дать первое незанятое число. В этом случае 3.
Первый массив делается селектом из БД. Второй, я полагаю, надо делать через временную таблицу циклом. Максимум значений будет 99999. Как проще организовать сравнение? Может в SQL есть что-то простое?
|
|
1
ДенисЧ
28.12.18
✎
13:32
|
Загнать оба массива в скуль и full join (или left, если у тебя один гарантированно полный).
Где NULL - там дырка
|
|
2
Eeakie
28.12.18
✎
13:34
|
(1) Логично. Пробую.
|
|
3
Mikeware
28.12.18
✎
13:41
|
если селектом из БД - значит, стоит 1спп. если есть 1спп - то в ей есть
|
|
4
Mikeware
28.12.18
✎
13:41
|
ну, еще в ней есть установитьФильтр, и все такое
|
|
5
Eeakie
28.12.18
✎
14:12
|
Хм. А чем в 1сине сделать запрос?
if object_id('tempdb.dbo.#numbers') is null create table #numbers(n int)
declare @n int
set @n = 1
while @n < 100
begin
insert into #numbers values (@n)
set @n = @n + 1
end
select * from #numbers
drop table #numbers
Через RecordSet 1с в ТЗ пусто. Напрямую из SQL всё нормально выполняется.
|
|
6
Mikeware
28.12.18
✎
14:23
|
(5) дык он у тебя результат по следнего возвращает
|
|