T_SQL变量问题

Sam*_*Sam 1 sql t-sql sql-server

我的一个SP中有一个变量.我的SP中有这样的东西:

Declare @Statusid int

SELECT @Statusid = ID 
FROM table1 a, table2 b
WHERE a.col1 = b.col1
Run Code Online (Sandbox Code Playgroud)

但SQL只返回一个值,即使它有多个值.

当我执行以下SQL Stmt时,我获得了ID的多个值

SELECT ID 
FROM table1 a, table2 b
WHERE a.col1 = b.col1
Run Code Online (Sandbox Code Playgroud)

如何使用变量获取多个值.

gbn*_*gbn 5

你不能.变量存储一个值,除非它是表变量

DECLARE @Status TABLE (Status int)

INSERT @Status
SELECT ID 
FROM table1 a JOIN table2 b ON a.col1 = b.col1
Run Code Online (Sandbox Code Playgroud)

请按照1992年颁布的ANSI-92标准使用正确的JOIN