Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с UPDATE / 3 сообщений из 3, страница 1 из 1
13.05.2018, 21:08
    #39644001
cglcz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста с UPDATE
Задача такова:
Обновить значение salary в таблице employees установив заработные платы для
сотрудников по следующим правилам:
Если итоговая выручка за последний год составляет от 10000 и более - удвоить текущее
значение.

Я пишу:
Код: sql
1.
2.
3.
4.
5.
6.
7.
UPDATE employees
SET salary = salary * 2 
        WHERE EXISTS   (SELECT e.first_name, sum (amount) as total_amt, YEAR (CAST (sales_time AS DATE)) AS SALES_DATE
						FROM sales s join employees e on s.employee_id = e.id
						GROUP BY e.first_name, YEAR(CAST(sales_time AS DATE))
						having  YEAR(CAST(sales_time AS DATE)) = 2017
						AND sum (amount) > 10000)	



и у меня обновляются зарплаты не тех двух человек, которые выбираются в этом селекте, а всех что есть. Где моя ошибка?
...
Рейтинг: 0 / 0
13.05.2018, 21:11
    #39644002
cglcz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста с UPDATE
cglcz,
так тоже не работает

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
UPDATE employees
SET salary = 
       CASE
	   WHEN   EXISTS   (SELECT e.first_name, sum (amount) as total_amt, YEAR (CAST (sales_time AS DATE)) AS SALES_DATE
						FROM sales s join employees e on s.employee_id = e.id
						GROUP BY e.first_name, YEAR(CAST(sales_time AS DATE))
						having  YEAR(CAST(sales_time AS DATE)) = 2017
						AND sum (amount) > 10000)	

						THEN salary * 2 
		                END
...
Рейтинг: 0 / 0
14.05.2018, 06:31
    #39644108
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста с UPDATE
Дык, у тя условие exists не связано с конкретной строкой таблицы employees.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с UPDATE / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]