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

Откуда:
Сообщений: 10
Есть две таблицы:
- dbo.tb_org (s_FullName, id_sps)
- dbo.tb_sps (Org, id_sps)
...хочу произвести update dbo.tb_org.id_sps если dbo.tb_sps.Org = dbo.tb_org.s_FullName

update dbo.tb_org
set id_sps = (select id_sps from dbo.tb_sps where Org=dbo.tb_org.s_FullName)


MSSQL 2000 выдает:
Server: Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
The statement has been terminated.

Не могу понять что не так, подскажите пожалуйста.
2 июн 09, 09:47    [7254313]     Ответить | Цитировать Сообщить модератору
 Re: update  [new]
^^
Guest
Вас не смущает что подзапрос
select id_sps from dbo.tb_sps where Org=dbo.tb_org.s_FullName
может вернуть больше одной записи?
2 июн 09, 09:49    [7254320]     Ответить | Цитировать Сообщить модератору
 Re: update  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3264
перевести ?
подзапрос вернул более одного значения. В замочную скважину более одного ключа сможете одновременно вставить ?
2 июн 09, 09:49    [7254323]     Ответить | Цитировать Сообщить модератору
 Re: update  [new]
Ashok
Member

Откуда:
Сообщений: 10
Ashok
Есть две таблицы:
- dbo.tb_org (s_FullName, id_sps)
- dbo.tb_sps (Org, id_sps)
...хочу произвести update dbo.tb_org.id_sps если dbo.tb_sps.Org = dbo.tb_org.s_FullName

update dbo.tb_org
set id_sps = (select id_sps from dbo.tb_sps where Org=dbo.tb_org.s_FullName)


MSSQL 2000 выдает:
Server: Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
The statement has been terminated.

Не могу понять что не так, подскажите пожалуйста.


...чуть не забыл, да и поместить значение dbo.tb_sps.id_sps в dbo.tb_org.id_sps
2 июн 09, 09:50    [7254326]     Ответить | Цитировать Сообщить модератору
 Re: update  [new]
Ashok
Member

Откуда:
Сообщений: 10
Ken@t
перевести ?
подзапрос вернул более одного значения. В замочную скважину более одного ключа сможете одновременно вставить ?


...можете подсказать как грамотнее прописать запрос?
2 июн 09, 09:51    [7254334]     Ответить | Цитировать Сообщить модератору
 Re: update  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3264
Ashok
Ken@t
перевести ?
подзапрос вернул более одного значения. В замочную скважину более одного ключа сможете одновременно вставить ?


...можете подсказать как грамотнее прописать запрос?


Пошли бы Вы читать п5 и п6
2 июн 09, 09:53    [7254342]     Ответить | Цитировать Сообщить модератору
 Re: update  [new]
DENIS_CHEL
Member

Откуда:
Сообщений: 23097
Ashok
...можете подсказать как грамотнее прописать запрос?

Грамотно - сделать условия соединения так, что бы соответствие записей из этих таблиц было 1 к 1.
Или использовать вариант "лишь бы работало":
update dbo.tb_org
set id_sps = (select TOP 1 id_sps from dbo.tb_sps where Org=dbo.tb_org.s_FullName)
2 июн 09, 09:55    [7254347]     Ответить | Цитировать Сообщить модератору
 Re: update  [new]
Ashok
Member

Откуда:
Сообщений: 10
Ken@t
Ashok
Ken@t
перевести ?
подзапрос вернул более одного значения. В замочную скважину более одного ключа сможете одновременно вставить ?


...можете подсказать как грамотнее прописать запрос?


Пошли бы Вы читать п5 и п6


...мне кажется в первом посте я описал задачу...и прошу лишь помочь в её осуществлении, извиняюсь если чем-то провинился перед уважаемыми участниками этого форума.
2 июн 09, 09:57    [7254355]     Ответить | Цитировать Сообщить модератору
 Re: update  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3264
хреново описали без данных , потому что
date dbo.tb_orgset 
SET id_sps = dbo.tb_sps.id_sps 
from dbo.tb_sps 
where dbo.tb_sps.Org=dbo.tb_org.s_FullName
и фиг его знает, что наколбасили в dbo.tb_sps.Org и dbo.tb_org.s_FullName
пробельчики, прописные /строчные
2 июн 09, 10:21    [7254456]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить