| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Составление SQL-запросов > [MSSQL'05]Оптимизация запроса с временной таблицей |
| Автор: Dogo 12.8.2008, 18:26 | ||
| ЗАДАЧА: Получить список заказчиков, которые сделали < 3х заказов. ДИАГРАММА БД: ![]() МОЕ РЕШЕНИЕ:
Подскажите, есть ли возможность оптимизировать запрос? Переписать его с использованием связанного подзапроса? |
| Автор: Akina 12.8.2008, 18:33 | ||
А что,
не работает, что ли? |
| Автор: Dogo 12.8.2008, 19:34 | ||
| Нет, так работать не будет. Один заказ может включать несколько типов Product => будет занимать несколько строк. В следствии чего агрегирующая функция COUNT вернет не то что от нее требуется. Ниже привел возможный вариант таблицы Orders
|
| Автор: Dogo 12.8.2008, 20:09 |
| Я создал эту тему не для того чтобы оптимизировать структуру БД(в данном случае это сделать нельзя). А для того чтобы оптимизировать запрос, то есть я хочу узнать можно ли его переписать с использованием связанного подзапроса. На мой взгляд, сделать это нельзя, но т.к. опыт работы с БД у меня небольшой, я решил задать вопрос опытным людям. |
| Автор: Akina 12.8.2008, 21:58 | ||||
В таблице Orders??? афигеть... ну ладно...
|
| Автор: Dogo 12.8.2008, 22:17 |
| Akina, Спасибо! |