Помогите с запросом

ssaich
Дата: 06.01.2016 10:56:08
Пишу делфи приложение, база Access

есть вот такая задача
Картинка с другого сайта.

Например ставлю галку на корневом "Выгружать" - как запросом обновить все целиком ?

Либо ставлю Галку на Аудио-Видео .. пока ума не приложу...
в соседней ветке подсказали запрос

WITH CTE AS
(
  SELECT tt.ID, NULL as ID_PARENT FROM TestTree as tt
  WHERE tt.ID = 2 -- тут указываем ID на который ставим или снимаем галку
  UNION ALL
  SELECT tt.ID, tt.ID_PARENT from TestTree as tt
  JOIN CTE as c ON c.ID = tt.ID_PARENT
)
  UPDATE TestTree
  SET TestTree.A_LOAD = 0 -- или 1
  FROM CTE as c
  WHERE c.ID = TestTree.ID


Но инструкцию WIth не понимает
Картинка с другого сайта.
Akina
Дата: 06.01.2016 19:13:09
Jet SQL и MS SQL - две большие разницы. Забудь про WITH, тем более про СТЕ. Просто держись в рамках выбранного диалекта.
ssaich
Дата: 06.01.2016 21:00:40
Akina
Jet SQL и MS SQL - две большие разницы. Забудь про WITH, тем более про СТЕ. Просто держись в рамках выбранного диалекта.


Это я уже понял, подскажите как запрос сформировать правильный пожалуйста
guest_rusimport
Дата: 06.01.2016 21:31:35
ssaich,
в том виде , как у вас сейчас заданы ID и ID_PARENT (назовем их "ключами") , без использования "самописной" функции в запросе не обойтись, но , говорят, такой вариант будет работать очень медленно, поэтому для Jet SQL, я бы посоветовал прислушаться к предложению Latuk об "особой" "текстовой" организации ключей дерева 6920464, тогда и запрос намного упростится :)
ssaich
Дата: 06.01.2016 21:41:43
guest_rusimport
ssaich,
в том виде , как у вас сейчас заданы ID и ID_PARENT (назовем их "ключами") , без использования "самописной" функции в запросе не обойтись, но , говорят, такой вариант будет работать очень медленно, поэтому для Jet SQL, я бы посоветовал прислушаться к предложению Latuk об "особой" "текстовой" организации ключей дерева 6920464, тогда и запрос намного упростится :)



создавать циклом (найти дочек, найти дочек\дочек,найти дочек\дочек\дочек...)

В том то и дело , что будет слабо говоря - висеть все (

Блин в 1с как то ведь данное работает (
guest_rusimport
Дата: 06.01.2016 21:49:13
ssaich,
ай, да молодца, быстро отреагировал ... и ничего не понял... изучай приведенную мной ссылку до полного просветления :)
ssaich
Дата: 06.01.2016 22:10:06
guest_rusimport
ssaich,
ай, да молодца, быстро отреагировал ... и ничего не понял... изучай приведенную мной ссылку до полного просветления :)


ха- я понял . просто не прочитал все нормально, а просто пробежал строчки глазками, подобный метод я как то реализовывал давно давно - как раз в дереве , выглядело примерно так (вспомнить бы все -))

1:150;2:150:300;

Где 1 и 2 наименование например салата 150 и 300 на пример паста и корейская морковь = далее 150:2:3:40; паста состоит из 2-3-40 2 помидора 3 ложки соли и так далее и 300:10:15:10; корейская морковь состоит - 10 морковь 15 соль 10 ну там специи

(не охоат просто досконально все расписывать) просто я надеюсь что я правильно понял вашу мысль ?
guest_rusimport
Дата: 06.01.2016 22:13:38
ssaich,
да, но лучше не цифрами , а буквами (ну или буквенными сочетаниями) ... и тогда простой Like вам в помощь :)
ssaich
Дата: 06.01.2016 22:19:50
guest_rusimport
ssaich,
да, но лучше не цифрами , а буквами (ну или буквенными сочетаниями) ... и тогда простой Like вам в помощь :)


Охх.. это было лет 8 назад.. пример бы
ssaich
Дата: 06.01.2016 23:40:21
Картинка с другого сайта.


Я что то наверно сделал не так .. выбирается +1 категория которая не должна