Обновление Excel VBA или вставка в существующую таблицу доступа с зависимостями

Простой запрос для списка первой рекурсии:

select @pv:=id as id, name, parent_id
from products
join (select @pv:=19)tmp
where parent_id=@pv

Результат:

id  name        parent_id
20  category2   19
21  category3   20
22  category4   21
26  category24  22

... с левым соединением:

select
    @pv:=p1.id as id
  , p2.name as parent_name
  , p1.name name
  , p1.parent_id
from products p1
join (select @pv:=19)tmp
left join products p2 on p2.id=p1.parent_id -- optional join to get parent name
where p1.parent_id=@pv

Решение @tincot для перечисления всех дочерних элементов:

select  id,
        name,
        parent_id 
from    (select * from products
         order by parent_id, id) products_sorted,
        (select @pv := '19') initialisation
where   find_in_set(parent_id, @pv) > 0
and     @pv := concat(@pv, ',', id)

Проверьте его онлайн с помощью Sql Fiddle и просмотрите все результаты.

http : //sqlfiddle.com/# 9 / a318e3 / 4/0

0
задан Lee Mac 3 March 2019 в 13:58
поделиться

1 ответ

Не импортируйте данные Excel, а связывайте их как связанную таблицу .

Затем используйте эту таблицу в качестве источника в комбинированном запросе на обновление / добавление, как описано здесь:

Сравните две таблицы и обновите или вставьте данные

Это запустится в один раз.

0
ответ дан Gustav 3 March 2019 в 13:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: