Sql 若参数为null,则从表中提取结果

Sql 若参数为null,则从表中提取结果,sql,tsql,Sql,Tsql,这可能是一个愚蠢的问题,但我还没有找到一种方法来表达这个问题,以得到一个适合我所要实现的目标的答案。我可能只是有一个愚蠢的时刻 我有一个存储过程的输入变量;该输入变量可以作为null传入 如果该值为null,我想在临时表中插入另一个表中的值列表。否则,我只想在temple表中插入参数的值 我想做的就是这样 INSERT INTO @tempTable SELECT (CASE WHEN @myVariable IS NULL THEN (SELECT [myVaria

这可能是一个愚蠢的问题,但我还没有找到一种方法来表达这个问题,以得到一个适合我所要实现的目标的答案。我可能只是有一个愚蠢的时刻

我有一个存储过程的输入变量;该输入变量可以作为null传入

如果该值为null,我想在临时表中插入另一个表中的值列表。否则,我只想在temple表中插入参数的值

我想做的就是这样

INSERT INTO @tempTable
SELECT (CASE WHEN @myVariable IS NULL 
             THEN (SELECT [myVariable] FROM myTable) 
             ELSE @myVariable END)
这是行不通的,因为select语句会收回大量结果(而且格式不正确),但这只是一般的想法。我基本上希望有一个可选的参数,用户可以在其中指定一个特定的ID,或者获取所有的ID

有人对最好的方法有什么建议吗


谢谢大家!

我想这个联盟就行了

INSERT INTO @tempTable
SELECT @myVariable WHERE @myVariable IS NOT NULL
UNION
SELECT [myVariable] FROM myTable WHERE @myVariable IS NULL
当然,如果不需要一个查询,那么可以使用简单的if逻辑

IF @myVariable IS NULL
   INSERT INTO @tempTable
   SELECT [myVariable] FROM myTable
ELSE
   INSERT INTO @tempTable
   SELECT @myVariable

我想这个联盟就行了

INSERT INTO @tempTable
SELECT @myVariable WHERE @myVariable IS NOT NULL
UNION
SELECT [myVariable] FROM myTable WHERE @myVariable IS NULL
当然,如果不需要一个查询,那么可以使用简单的if逻辑

IF @myVariable IS NULL
   INSERT INTO @tempTable
   SELECT [myVariable] FROM myTable
ELSE
   INSERT INTO @tempTable
   SELECT @myVariable

我想这个联盟就行了

INSERT INTO @tempTable
SELECT @myVariable WHERE @myVariable IS NOT NULL
UNION
SELECT [myVariable] FROM myTable WHERE @myVariable IS NULL
当然,如果不需要一个查询,那么可以使用简单的if逻辑

IF @myVariable IS NULL
   INSERT INTO @tempTable
   SELECT [myVariable] FROM myTable
ELSE
   INSERT INTO @tempTable
   SELECT @myVariable

我想这个联盟就行了

INSERT INTO @tempTable
SELECT @myVariable WHERE @myVariable IS NOT NULL
UNION
SELECT [myVariable] FROM myTable WHERE @myVariable IS NULL
当然,如果不需要一个查询,那么可以使用简单的if逻辑

IF @myVariable IS NULL
   INSERT INTO @tempTable
   SELECT [myVariable] FROM myTable
ELSE
   INSERT INTO @tempTable
   SELECT @myVariable

你喜欢这个工作吗

SELECT DISTINCT ISNULL(@myVariable, myVariableColumn) 
FROM myTable

你喜欢这个工作吗

SELECT DISTINCT ISNULL(@myVariable, myVariableColumn) 
FROM myTable

你喜欢这个工作吗

SELECT DISTINCT ISNULL(@myVariable, myVariableColumn) 
FROM myTable

你喜欢这个工作吗

SELECT DISTINCT ISNULL(@myVariable, myVariableColumn) 
FROM myTable
我建议提出以下问题:

INSERT INTO @tempTable
SELECT CASE WHEN @myVariable IS NULL Then [myVariable] else @myVariable end FROM myTable
我建议提出以下问题:

INSERT INTO @tempTable
SELECT CASE WHEN @myVariable IS NULL Then [myVariable] else @myVariable end FROM myTable
我建议提出以下问题:

INSERT INTO @tempTable
SELECT CASE WHEN @myVariable IS NULL Then [myVariable] else @myVariable end FROM myTable
我建议提出以下问题:

INSERT INTO @tempTable
SELECT CASE WHEN @myVariable IS NULL Then [myVariable] else @myVariable end FROM myTable