![]() |
|
Модераторы: skyboy |
![]()
|
|
| batex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 15.5.2010 Репутация: нет Всего: нет |
Есть такие таблицы
1 - таблица заявок на товар FK_sales_goods(iid, name, priority) 2 - таблица товаров sales1(goods_id, goods_count, date) Надо составить такие запросы: 1 - вывод пяти самых популярных товаров. Тут я написал два запроса, первый суммирует заявки по одинаковому товару select goods_id, SUM(goods_count) from sales1 group by sales1.goods_id И второй выводит пять популярных Select top 5 FK_sales_goods.iid, FK_sales_goods.name, sales1.goods_count from sales1 left join FK_sales_goods ON FK_sales_goods.iid = sales1.goods_id ORDER BY sales1.goods_count DESC Как их объединить так, чтобы выводило пять популярных товаров по суммарному количеству заявок по товарам? Это сообщение отредактировал(а) batex - 4.4.2012, 19:59 |
|||
|
||||
| batex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 15.5.2010 Репутация: нет Всего: нет |
Еще возник вопрос по поводу триггера. Пишу триггер, который запрещает добавлять товар с приоритетом меньше 1 и больше 9. Получилось вот что:
CREATE TRIGGER trig_1 ON FK_sales_goods AFTER INSERT AS BEGIN SET NOCOUNT ON; if (select FK_sales_goods.priority from FK_sales_goods) < 1 if (select FK_sales_goods.priority from FK_sales_goods) > 9 rollback print'Error in priority' END При запросе INSERT FK_sales_goods VALUES('goods10',10) ругается : Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. Насколько я понимаю, условие возвращает несколько значений, как сделать так, чтобы условие if было только по введенному значение name? |
|||
|
||||
| Zloxa |
|
||||||||||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Здесь не нужен триггер. Здесь уместен check constraint
rtfm inserted,deleted
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
||||||||||
|
|||||||||||
| batex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 15.5.2010 Репутация: нет Всего: нет |
Большое спасибо за помощь!
|
|||
|
||||
| batex |
|
||||||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 15.5.2010 Репутация: нет Всего: нет |
Пытаюсь на основе этого запроса создать хранимую процедуру, где на входе параметры даты, а на выходе наименование товара. Если без выходного параметра все работает отлично, то с выходным ничего не получается.
Выдает ошибку "A SELECT statement that assigns a value to a variable must not be combined with data-retrieval operations." Не понимаю как заставить работать Это сообщение отредактировал(а) batex - 6.4.2012, 14:28 |
||||||||||||||
|
|||||||||||||||
| batex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 15.5.2010 Репутация: нет Всего: нет |
А, все, уже не надо, сам разобрался
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |