如何在CASE表达式后插入T-SQL代码?

时间:2019-03-23 14:02:15

标签: sql sql-server tsql

我想在SQL Server中写一个T-SQL代码。这是一个示例:

    case count(code)
    WHEN 0 THEN 
    insert into a(c,v,h) values(f,g,h)
    WHEN 1 THEN 
    .
    .
    .
    WHEN 2 THEN 
    .
    .
    .

    END 
    from tbl_A

2 个答案:

答案 0 :(得分:1)

T-SQL没有用于控制流的pygame.time.delay(100)语句。 SQL(通常不只是T-SQL)具有CASE表达式,可以在查询中使用。

您似乎想要由CASE提供的条件逻辑。我的猜测是:

if

答案 1 :(得分:1)

您可以将逻辑重写为:

INSERT INTO a (c, v, h)
SELECT
    CASE COUNT(code) WHEN 0 THEN 'f'
                     WHEN 1 THEN 'i'
                     WHEN 2 THEN 'l' END,
    CASE COUNT(code) WHEN 0 THEN 'g'
                     WHEN 1 THEN 'j'
                     WHEN 2 THEN 'm' END,
    CASE COUNT(code) WHEN 0 THEN 'h'
                     WHEN 1 THEN 'k'
                     WHEN 2 THEN 'n' END
FROM tbl_A;

假设代码计数为0,则将元组(f, g, h)插入表a中。如果计数改为1,则将插入(i, j, k),依此类推。