Рейтинг:
12
0x01AA
Что-то вроде этого?
UPDATE employee
SET employee.emp_salary = employee.emp_salary * 2.0
WHERE EXISTS (SELECT c.EMP_ID FROM customer c WHERE c.emp_id = employee.emp_id)
[Редактировать]
UPDATE employee
SET employee.emp_salary = employee.emp_salary * 2.0
WHERE EXISTS (SELECT c.EMP_ID FROM customer c WHERE c.emp_id = employee.emp_id AND c.cust_id=4)
Я не знаю Oracle, поэтому вышеизложенное является общим решением. например, С MS SQL вы можете использовать left join в обновлениях, которые, вероятно, будут более производительными.
Abed Al Rahman Hussien Balhawan
боюсь , что нет, только тот сотрудник, который работает с cust_id=4, должен быть удвоен
я попробовал это сделать
обновление сотрудника
установить emp_salary=emp_salary*2
от сотрудника е
внутреннее соединение клиента с на C.идентификатор emp_id=е.идентификатор emp_id
имея c.cust_id=4
0x01AA
О да, извините, что я забыл это (id == 4). Я думаю, вам легко добавить это ограничение?
Abed Al Rahman Hussien Balhawan
я пытался , но все равно где-то делаю что-то не так, не могли бы вы показать мне, как это делается ?
0x01AA
Я постараюсь помочь, см. [Edit] в ответе; не уверен, что я понял это правильно. В любом случае, было бы неплохо в следующий раз показать, что вы пробовали, а что нет...
Кстати. HAVING
будет использоваться в SQL-операторах с использованием GROUP BY
Я предлагаю вам (не воспринимайте это как оскорбление) прочитать некоторые базовые учебники по SQL ;)
Abed Al Rahman Hussien Balhawan
честно говоря, я просто попробовал сделать то же самое, что и вы, но забыл закрыть скобки. моя ошибка , большое спасибо !!!
0x01AA
Нет, ты не сделал этого! Использование слова "иметь" - это совсем другое дело ;)
Abed Al Rahman Hussien Balhawan
да,именно так, мне нужно больше правок, потому что прошло уже 5 лет с тех пор, как я закончил школу, и что касается вашего первого запроса
Обновление сотрудника
Установить employee.emp_salary = employee.emp_salary * 2.0
Где существует (выберите c.Идентификатор emp_id от клиента на C, где c.идентификатор emp_id = сотрудник.emp_id и сбыл.cust_id=4
я имел в виду , что забыл последние скобки, как показано выше, глупая ошибка, которую я сделал.
еще раз спасибо за помощь :)
0x01AA
Все в порядке, большое спасибо, что согласились. И кстати. работая в этой области более 30 лет, я все еще учусь. Последнее и не в последнюю очередь из за вопросов например от вас поэтому еще раз спасибо ;)
Abed Al Rahman Hussien Balhawan
надеюсь, я стану таким же, как ты :) :D
0x01AA
- надеюсь, я стану такой же, как ты."
Нет, пожалуйста, не надо. Сделай это лучше, чем я, все самое лучшее ;)
0x01AA
Благодарю вас сэр ;)
Maciej Los
Всегда пожалуйста, SQL Maestro.