Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 создание запроса  [new]
a_goodgirl
Member

Откуда:
Сообщений: 4
Здравствуйте! Пишу первый раз, прошу прощения, если не туда.
Нужно автоматически сформировать текст запроса по примерно какой-нибудь такой схеме:
[IMG]http://s42.radikal.ru/i098/1208/df/8ed8b4252475.jpg[/IMG]
(какой-то странный форум, не дает вставлять картинки в текст)

ACCESS это умеет делать, получается в данном случае
FROM (((((Типы LEFT JOIN (Поставщики LEFT JOIN Товары ON Поставщики.КодПоставщика = Товары.КодПоставщика) ON Типы.КодТипа = Товары.КодТипа) LEFT JOIN Заказано ON Товары.КодТовара = Заказано.КодТовара) LEFT JOIN Заказы ON Заказано.КодЗаказа = Заказы.КодЗаказа) LEFT JOIN Клиенты ON Заказы.КодКлиента = Клиенты.КодКлиента) LEFT JOIN Доставка ON Товары.КодПоставщика = Доставка.КодДоставки) LEFT JOIN Сотрудники ON (Сотрудники.Город = Клиенты.Город) AND (Доставка.Телефон = Сотрудники.ДомашнийТелефон);


Вот это мне надо сделать программно - т.е. у меня есть объекты, в которых описаны таблицы, поля, связи схемы, мне нужно как-то их обойти (связи могут быть двойственные) и составить запрос. В учебниках описаны простейшие случаи 2-3 таблиц. Где бы почитать про алгоритм, куда вообще двинуться?

К сообщению приложен файл. Размер - 64Kb
10 авг 12, 18:04    [12995731]     Ответить | Цитировать Сообщить модератору
 Re: создание запроса  [new]
qwerty112
Guest
a_goodgirl
Нужно автоматически сформировать текст запроса по примерно какой-нибудь такой схеме:
...
ACCESS это умеет делать, получается в данном случае

что умеет делать Акцесс ? сам запросы клепать ??

ты не конструктор запросов (по типу Аксовского QBE) исчеш, часом ?
10 авг 12, 18:09    [12995764]     Ответить | Цитировать Сообщить модератору
 Re: создание запроса  [new]
a_goodgirl
Member

Откуда:
Сообщений: 4
наверно, я ищу конструктор запросов.
Конечно, приведенная схема доведена до абсурда (для отладки) и вряд ли такой запрос вернет что-то, но в принципе это проблема пользователя, текст запроса должен генериться.
10 авг 12, 18:11    [12995779]     Ответить | Цитировать Сообщить модератору
 Re: создание запроса  [new]
qwerty112
Guest
a_goodgirl
наверно, я ищу конструктор запросов.

в MSS Management Studio - правая педаль по папке Views в нужной БД - New View
10 авг 12, 18:22    [12995845]     Ответить | Цитировать Сообщить модератору
 Re: создание запроса  [new]
не надо сде
Guest
a_goodgirl,
автор
мне надо сделать программно

автор
куда вообще двинуться?

в метаданные.
есть специальные системные вьюхи/таблички, в которых описаны все серверные объекты: таблицы, столбцы, FK и прочее.
автор
В учебниках описаны простейшие случаи 2-3 таблиц

ну так: сделать для трех, потом добавить туда еще одну. повторить до нужного количества.
если простейшие случаи это в том смысле что написано вроде "если не в этой таблице, то во второй, если не в ней, то в третьей", тогда да. примеры нерасширяемые.

чтобы задача была решена, она для начала должна быть сформулирована. а, например, пока не понял, что должно получиться в итоге.

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

или смысла от запроса никто не ждет, нужно просто научиться из метаданных информацию выгребать?
10 авг 12, 21:05    [12996501]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить