Страница 1 из 1

Цикл в запросе MS SQL

Добавлено: 29 май 2017, 11:53
stsg
Доброго дня!
Есть одна таблица tblMain с тремя полями:
ID Info MainID
1 первый NULL
2 второй 1
3 третий 2
4 четыре 3
5 пять 4
Поле MainID - это родительский ID предыдущей записи..
При выборе пятой записи мне нужно проследить всю цепочку до места где MainID = LULL
У меня это работает так:
Выбираем пятую строку - SELECT Info FROM tblMain WHERE ID = <MainID> - тут мы видим запись четыре - SELECT Info FROM tblMain WHERE ID = (SELECT Info FROM tblMain WHERE ID = <MainID>) - тут мы видим запись три - SELECT Info FROM tblMain WHERE ID = (SELECT Info FROM tblMain WHERE ID = (SELECT Info FROM tblMain WHERE ID = <MainID>)) - тут мы видим запись два - SELECT Info FROM tblMain WHERE ID = (SELECT Info FROM tblMain WHERE ID = (SELECT Info FROM tblMain WHERE ID = (SELECT Info FROM tblMain WHERE ID = <MainID>))) - тут мы видим запись один...
Нужно преобразовать это все в цикл WHILE - у меня не выходит...
Конец цикла должен быть когда MainID = NULL
В идеале хотел получить все записи в одну строку "пять - четыре - третий - второй - первый"

Re: Цикл в запросе MS SQL

Добавлено: 29 май 2017, 16:02
Слива
А где там консоль вообще в Accesse? Куда данные-то выводить?