TSQL:if语句中的select语句

use*_*027 4 sql t-sql if-statement function case

我在函数内部有这个结构:

INSERT INTO @TheTable
    SELECT DISTINCT

        @Number AS Number,

        @Name AS Name

    FROM MYTABLE 
    WHERE id = @id
Run Code Online (Sandbox Code Playgroud)

我需要在这个结构中添加执行另一个函数的结果,我需要你的帮助才能这样做.

在@Name AS Name下面,我应该添加这样的东西

IF (dbo.anotherFunction(@id)==1) 
@NewVisitor AS NewVisitor
ELSE
@NewVisitor AS NoNewVisitor
Run Code Online (Sandbox Code Playgroud)

我怎样才能将其翻译成TSQL?

太感谢了!

Bet*_*eth 7

猜猜这就是你想要的......

INSERT INTO @TheTable
    SELECT DISTINCT
        @Number AS Number,
        @Name AS Name,
        case when (dbo.anotherFunction(@id)=1) then @NewVisitor else null end as NewVisitor,
        case when (dbo.anotherFunction(@id)<>1) then @NewVisitor else null end AS NoNewVisitor
    FROM MYTABLE 
    WHERE id = @id
Run Code Online (Sandbox Code Playgroud)