У меня есть проблема, когда переменная не устанавливается с помощью оператора select.
Селект соединяет табличную переменную @contracts (которая используется для управления циклом), а затем присоединяется к реальному контрактутаблицы строк контракта.
Мой выбор:
select top 1
@contract_id = c.contract_id
, @account = ch.account
, @service = cl.service
, @model = cl.model
, @serial = cl.serial
, @contract = ch.contract
from
@contracts c
inner join contractline cl on c.contract_id = cl.contract_id
inner join contractheader ch on cl.contract = ch.contract
where
cl.contract_id = @contract_id
Но когда я делаю select @contract_id, я получаю NULL
обратно, как и все мои переменные.
Я сделал простое select * from @contracts c inner join contractline cl on c.contract_id = cl.contract_id inner join contractheader ch on cl.contract = ch.contract
, и это возвращает ровно 1 строку со значениями во всех правильных местах, без выбранных значений.
Что я сделал не так?