Присвоение столбцов результата переменным - PullRequest
0 голосов
/ 19 марта 2012

Я бы хотел присвоить результаты из двух столбцов двум переменным. У меня есть несколько операторов TSQL внутри блока цикла курсора. Когда @currentId (текущий идентификатор строки) равен max (col1) в таблице, я хочу получить значение tableb.col2.

SELECT MAX(col1), b.[col2] from tablea ta JOIN tableb tb on ta.id = tb.id
WHERE ta.id = @currentId

Выше не работает, конечно. Кроме того, я не уверен, как получить значения col1 и col2. Типы данных:

col1 int
col2 bit

Есть предложения?

1 Ответ

2 голосов
/ 19 марта 2012

Вам необходимо использовать GroupBy, так как вы используете MAX, которая является функцией согласования.

Declare @valCol1 INT, @valCol2 INT

    SELECT @valCol1 = MAX(col1), @valCol2 = b.[col2] from tablea ta JOIN tableb tb on ta.id = tb.id
    WHERE ta.id = @currentId

PRINT @valCol1
PRINT @valCol2

Примечание. Вышеупомянутый запрос не будет выполнен, если запрос возвращает несколько строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...