Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带CASE的SQL存储过程_Sql_Sql Server - Fatal编程技术网

带CASE的SQL存储过程

带CASE的SQL存储过程,sql,sql-server,Sql,Sql Server,您好,我的存储过程中有一个等式,我在这里使用了两种情况,第一种情况显示正确的值,第二种情况显示TirType字段中只有空值,我不明白是什么问题 CREATE VIEW dbo.YUITY SELECT CAST(dbo.SC5116.CODE AS int) AS код, dbo.SC5116.DESCR AS Наименование, CAST(dbo.SC3420.CODE AS int) AS TIR, dbo.SC3420.SP4947 AS Dat

您好,我的存储过程中有一个等式,我在这里使用了两种情况,第一种情况显示正确的值,第二种情况显示TirType字段中只有空值,我不明白是什么问题

CREATE VIEW dbo.YUITY
    SELECT     CAST(dbo.SC5116.CODE AS int) AS код, dbo.SC5116.DESCR AS Наименование,    
     CAST(dbo.SC3420.CODE AS int) AS TIR, dbo.SC3420.SP4947 AS Date, 
                  CASE WHEN SC3420.SP4949 <> '     0   ' THEN 'ПовышСтрах' ELSE 'ОснСтрах' END AS VID, 
                  CASE WHEN dbo.SC3420.SP9214 = '714' THEN '4v' END AS TirType
      FROM         dbo.SC3420 INNER JOIN
                  dbo.SC5116 ON dbo.SC3420.SP3422 = dbo.SC5116.ID
       WHERE     (dbo.SC3420.SP4947 <> '01.01.1753')
创建视图dbo.YUITY
选择CAST(dbo.SC5116.CODE为int)作为аааа,dbo.SC5116.DESCR作为ааааааааа,
铸造(dbo.SC3420.CODE AS int)为TIR,dbo.SC3420.SP4947为日期,
当SC3420.SP4949为“0”时,则“其他”结束为“VID”,
当dbo.SC3420.SP9214='714'时,则'4v'结束为TirType
从dbo.SC3420内部连接
dbo.SC3420.SP3422上的dbo.SC5116=dbo.SC5116.ID
其中(dbo.SC3420.SP4947'01.01.1753')

不要忘记在
案例
之后结束
。如果未指定其他值且值不是“714”,则它将返回NULL

CREATE VIEW dbo.YUITY
AS
    SELECT     CAST(dbo.SC5116.CODE AS int) AS код, dbo.SC5116.DESCR AS Наименование,    
     CAST(dbo.SC3420.CODE AS int) AS TIR, dbo.SC3420.SP4947 AS Date, 
                  CASE WHEN SC3420.SP4949 <> '     0   ' THEN 'ПовышСтрах' ELSE 'ОснСтрах' END AS VID, 
                  CASE WHEN dbo.SC3420.SP9214 = '714' THEN '4v' ELSE '' END AS TirType
      FROM         dbo.SC3420 INNER JOIN
                  dbo.SC5116 ON dbo.SC3420.SP3422 = dbo.SC5116.ID
       WHERE     (dbo.SC3420.SP4947 <> '01.01.1753')
创建视图dbo.YUITY
作为
选择CAST(dbo.SC5116.CODE为int)作为аааа,dbo.SC5116.DESCR作为ааааааааа,
铸造(dbo.SC3420.CODE AS int)为TIR,dbo.SC3420.SP4947为日期,
当SC3420.SP4949为“0”时,则“其他”结束为“VID”,
当dbo.SC3420.SP9214='714'时,则'4v'ELSE'以TirType结束
从dbo.SC3420内部连接
dbo.SC3420.SP3422上的dbo.SC5116=dbo.SC5116.ID
其中(dbo.SC3420.SP4947'01.01.1753')

其他
案例中应显示的内容您在
创建视图
之后缺少
AS
,在第二个案例陈述中也缺少
END
。撇开语法不谈,我怀疑它显示
NULL
的原因是因为没有
dbo.SC3420.SP9214
等于
'714'
的行,我是这样写的,而且它在字段TirType中也给了我NULL值如果在ELSE语句中指定一个值,那么TirType就不会为NULL,我可以把每个值都放进去,这不取决于,但是它给了我所有字段的这个值,但是你能把两个案例放在一个存储过程中吗,或者我怎么能把两个案例组合在一个案例中呢?你可以这样组合案例:
当1=2时案例,然后“不可能”,或者当1>2时案例,然后“更多”或者“更少”结束