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

Откуда:
Сообщений: 54
здравствуйте, помогите пожалуйста советом. Написал запрос выборки
select p.phones_element_phoneNumber, OPE.name from Customer as OPE
inner join CustomersAddresses as b on OPE.id = b.customerId
inner join [CustomersPhones] as p on OPE.id = p.customerId
WHERE b.addresses_element_house='1'


хочу его переделать в update
но не понимаю как заранее можно объявить все данные как тут p.phones_element_phoneNumber, OPE.name from Customer as OPE
как можно в update заранее объявить все варианты Customer as OPE, CustomersAddresses as b
update CustomersAddresses 
set addresses_element_house='1'
from CustomersAddresses
inner join CustomersAddresses as b on Customer.id = b.customerId
inner join [CustomersPhones] as p on Customer.id = p.customerId
where b.addresses_element_house='2'

ругается на
Сообщение 4104, уровень 16, состояние 1, строка 4
Не удалось привязать составной идентификатор "Customer.id".
5 апр 18, 15:49    [21315831]     Ответить | Цитировать Сообщить модератору
 Re: sql запрос с as и затем его преобразовать в update  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
lex871,

from CustomersAddresses наверное же Customer
5 апр 18, 15:54    [21315854]     Ответить | Цитировать Сообщить модератору
 Re: sql запрос с as и затем его преобразовать в update  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
lex871,
что то типа
update b
set addresses_element_house='1'
from Customer a
inner join CustomersAddresses as b on a.id = b.customerId
inner join [CustomersPhones] as p on a.id = p.customerId
where b.addresses_element_house='2'
5 апр 18, 15:55    [21315859]     Ответить | Цитировать Сообщить модератору
 Re: sql запрос с as и затем его преобразовать в update  [new]
SQL2008
Member

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

И где тут у вас в апдейте Customer?
Может быть это хотели

update CustomersAddresses 
set addresses_element_house='1'
from CustomersAddresses
inner join CustomersAddresses as b on CustomersAddresses.id = b.customerId
inner join [CustomersPhones] as p on CustomersAddresses.id = p.customerId
where b.addresses_element_house='2'
5 апр 18, 15:57    [21315868]     Ответить | Цитировать Сообщить модератору
 Re: sql запрос с as и затем его преобразовать в update  [new]
lex871
Member

Откуда:
Сообщений: 54
TaPaK
lex871,

from CustomersAddresses наверное же Customer

спасибо, да, я проглядел....
а можно заранее все переменные объявить
Customer a
CustomersAddresses as b
CustomersPhones] as p
и уже потом используя их делать update?
5 апр 18, 16:01    [21315883]     Ответить | Цитировать Сообщить модератору
 Re: sql запрос с as и затем его преобразовать в update  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
lex871
TaPaK
lex871,

from CustomersAddresses наверное же Customer

спасибо, да, я проглядел....
а можно заранее все переменные объявить
Customer a
CustomersAddresses as b
CustomersPhones] as p
и уже потом используя их делать update?

нифига не понял что вы сказали, и это называется "алиас", ну и пример я написал
5 апр 18, 16:02    [21315886]     Ответить | Цитировать Сообщить модератору
 Re: sql запрос с as и затем его преобразовать в update  [new]
lex871
Member

Откуда:
Сообщений: 54
TaPaK, а заранее можно эти алиасы написать и их уже потом использовать?
5 апр 18, 16:03    [21315891]     Ответить | Цитировать Сообщить модератору
 Re: sql запрос с as и затем его преобразовать в update  [new]
lex871
Member

Откуда:
Сообщений: 54
например через
DECLARE или set....
5 апр 18, 16:04    [21315897]     Ответить | Цитировать Сообщить модератору
 Re: sql запрос с as и затем его преобразовать в update  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
lex871
TaPaK, а заранее можно эти алиасы написать и их уже потом использовать?

даже не буду пытаться понять - "НЕТ"
5 апр 18, 16:04    [21315898]     Ответить | Цитировать Сообщить модератору
 Re: sql запрос с as и затем его преобразовать в update  [new]
Konst_One
Member

Откуда:
Сообщений: 11512
может речь о синонимах?
5 апр 18, 16:06    [21315908]     Ответить | Цитировать Сообщить модератору
 Re: sql запрос с as и затем его преобразовать в update  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30821
lex871
например через
DECLARE или set....
Нет, алиасы определяются и используются в одном запросе.
5 апр 18, 17:48    [21316264]     Ответить | Цитировать Сообщить модератору
 Re: sql запрос с as и затем его преобразовать в update  [new]
lex871
Member

Откуда:
Сообщений: 54
alexeyvg
lex871
например через
DECLARE или set....
Нет, алиасы определяются и используются в одном запросе.

Всем спасибо большое, все понял.
5 апр 18, 17:48    [21316270]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить