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

Откуда:
Сообщений: 7
update uchenik_SQL.dbo.Ученики2 set study = '3'
where uchenik_SQL.dbo.Ученики.docser=uchenik_SQL.dbo.Ученики2.documentseries and
uchenik_SQL.dbo.Ученики.docnum=uchenik_SQL.dbo.Ученики2.documentnumber


есть 2 таблицы, в обоих есть паспортные данные учеников - это уникальные поля.
Нужно поменять значение поля study у всех учеников которые находятся в обоих таблицах.
7 мар 13, 14:21    [14024646]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
iap
Member

Откуда: Москва
Сообщений: 47049
khachag,

UPDATE ... FROM ....
Используйте алиасы
Оформляйте тегом [SRС]
7 мар 13, 14:24    [14024676]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22551
замените where на join
7 мар 13, 14:24    [14024678]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
iap
Member

Откуда: Москва
Сообщений: 47049
Паганель
замените where на join
Это как раз необязательно. Но FROM бы хорошо...
Можно и классически - коррелированным подзапросом из второй таблицы + WHERE EXISTS(SELECT * FROM ...)
7 мар 13, 14:28    [14024699]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
khachag
Member

Откуда:
Сообщений: 7
Паганель,

это получается так?

update uchenik_SQL.dbo.Ученики2 set study = '3'
join uchenik_SQL.dbo.Ученики.docser=uchenik_SQL.dbo.Ученики2.documentseries and
uchenik_SQL.dbo.Ученики.docnum=uchenik_SQL.dbo.Ученики2.documentnumber


выдало ошибку, я новичок в этих делах, поэтому прошу не ругать сильно... :-(
7 мар 13, 14:29    [14024708]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
khachag
Member

Откуда:
Сообщений: 7
iap,

пробую и с from, все равно выдает ошибку...
7 мар 13, 14:30    [14024713]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22551
khachag
Паганель,

это получается так?

update uchenik_SQL.dbo.Ученики2 set study = '3'
join uchenik_SQL.dbo.Ученики.docser=uchenik_SQL.dbo.Ученики2.documentseries and
uchenik_SQL.dbo.Ученики.docnum=uchenik_SQL.dbo.Ученики2.documentnumber


выдало ошибку, я новичок в этих делах, поэтому прошу не ругать сильно... :-(
синтаксис надо брать из документации а не выдумывать самому
http://msdn.microsoft.com/en-us/library/ms177634.aspx
7 мар 13, 14:31    [14024727]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
iap
Member

Откуда: Москва
Сообщений: 47049
khachag
Паганель,

это получается так?

update uchenik_SQL.dbo.Ученики2 set study = '3'
join uchenik_SQL.dbo.Ученики.docser=uchenik_SQL.dbo.Ученики2.documentseries and
uchenik_SQL.dbo.Ученики.docnum=uchenik_SQL.dbo.Ученики2.documentnumber


выдало ошибку, я новичок в этих делах, поэтому прошу не ругать сильно... :-(
JOIN без FROM не бывает
7 мар 13, 14:35    [14024751]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
iap
Member

Откуда: Москва
Сообщений: 47049
iap
khachag
Паганель,

это получается так?

update uchenik_SQL.dbo.Ученики2 set study = '3'
join uchenik_SQL.dbo.Ученики.docser=uchenik_SQL.dbo.Ученики2.documentseries and
uchenik_SQL.dbo.Ученики.docnum=uchenik_SQL.dbo.Ученики2.documentnumber


выдало ошибку, я новичок в этих делах, поэтому прошу не ругать сильно... :-(
JOIN без FROM не бывает
И алиасы используйте!
И себе и нам лучше сделаете.
Про тег я, видно, в пустоту сказал...
7 мар 13, 14:36    [14024766]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
khachag
Member

Откуда:
Сообщений: 7
iap,
я же объяснил Вам, я новичок в этом деле, только только разбираюсь, я не понимаю термины о которых вы говорите.
Если можете исправьте мою ошибку подсказав как мне выполнить данный запрос, если нет, тогда спасибо и за это.
7 мар 13, 14:40    [14024785]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
iap
Member

Откуда: Москва
Сообщений: 47049
khachag
iap,
я же объяснил Вам, я новичок в этом деле, только только разбираюсь, я не понимаю термины о которых вы говорите.
Если можете исправьте мою ошибку подсказав как мне выполнить данный запрос, если нет, тогда спасибо и за это.
Прочитайте внимательно: UPDATE (Transact-SQL)

А тег наверху окна редактора сообщения не видите? Вроде тут-то "новичок" не при чём...
7 мар 13, 14:55    [14024846]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
khachag
Member

Откуда:
Сообщений: 7
iap,

если у меня время было бы это все изучать, я к Вам не обратился бы. Просто у меня на работе горит это, до вечера надо закончит с БД, а кроме него еще столько все надо сделать.
На свою голову такую проблему взял я, а теперь людей подводить просто не хочется.
7 мар 13, 14:59    [14024861]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
khachag
Member

Откуда:
Сообщений: 7
iap,

не ужели так трудно подсказать как правильно выполнить этот запрос.
7 мар 13, 15:00    [14024866]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
ambarka_max
Member

Откуда: Россия
Сообщений: 517
update t2 set t2.study = '3'
from uchenik_SQL.dbo.Ученики as t1 /* t1 и t2 это алиасы таблиц, указываются после имени таблицы в предложении from */
join uchenik_SQL.dbo.Ученики2 as t2 on t1.docser=t2.documentseries and t1.docnum=t2.documentnumber

А вообще, конечно, лучше почитать.
7 мар 13, 15:00    [14024867]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
iap
Member

Откуда: Москва
Сообщений: 47049
iap
Прочитайте внимательно: UPDATE (Transact-SQL)
Обратите внимание на
"Указание целевых объектов, не являющихся стандартными таблицами" ->
"Б. Указание псевдонима таблицы в качестве целевого объекта"
7 мар 13, 15:01    [14024875]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
iap
Member

Откуда: Москва
Сообщений: 47049
ambarka_max
update t2 set t2.study = '3'
from uchenik_SQL.dbo.Ученики as t1 /* t1 и t2 это алиасы таблиц, указываются после имени таблицы в предложении from */
join uchenik_SQL.dbo.Ученики2 as t2 on t1.docser=t2.documentseries and t1.docnum=t2.documentnumber
where t2.study is null or t2.study <> '3'

А вообще, конечно, лучше почитать.
Поправил
7 мар 13, 15:03    [14024881]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22551
khachag
Просто у меня на работе горит это, до вечера надо закончит с БД
так это не студенческая БД???
блин, нельзя поручать менять что-то в рабочей БД неподготовленному человеку
имхо Ваш начальник дурак
7 мар 13, 15:04    [14024887]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста нати ошибку  [new]
khachag
Member

Откуда:
Сообщений: 7
ambarka_max,

Огромное Вам спасибо, почитать это естетсвенно, я начал изучать sql всего неделю как. Просто у меня сейчас горело это дело, людей подводить не хотел из-за своей дурости.
Еще раз всем спасибо, и извините за незнание всего этого.
7 мар 13, 15:05    [14024890]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить