SQL IF/ELSE语句
我有一个Select语句,其中我需要添加一个IF/ELSE语句SQL IF/ELSE语句,sql,sql-server,tsql,if-statement,Sql,Sql Server,Tsql,If Statement,我有一个Select语句,其中我需要添加一个IF/ELSE语句 IF @P_COUNT = 'X' show the Count(*) FROM SELECT statement ELSE I need to return table from the SELECT statement results 目前这是我所拥有的,但它不能正常工作 @P_COUNT VARCHAR(1) IF @P_COUNT = 'X' SELECT COUN
IF @P_COUNT = 'X'
show the Count(*) FROM SELECT statement
ELSE
I need to return table from the SELECT statement results
目前这是我所拥有的,但它不能正常工作
@P_COUNT VARCHAR(1)
IF @P_COUNT = 'X'
SELECT COUNT(*)
ELSE SELECT * FROM (
(SELECT ... UNION ... ) AS A
LEFT JOIN
(SELECT A, B, C, D FROM Table_1) AS B
ON WHERE A.XX = B.XX
LEFT JOIN
(SELECT A, B, C, D FROM Table_1) AS C
) AS D
目前的结果:
IF @P_COUNT = 'X', RESULT => 1 Expected => 26017
IF @P_COUNT = '', RESULT => returns proper Select statement.
提前感谢您的帮助 这就是你想要的吗
IF @P_COUNT = 'X'
BEGIN
SELECT COUNT(*)
FROM (
(SELECT ... UNION ... ) AS A
LEFT JOIN
(SELECT A, B, C, D FROM Table_1) AS B
ON WHERE A.XX = B.XX
LEFT JOIN
(SELECT A, B, C, D FROM Table_1) AS C
) AS D
END
ELSE
BEGIN
SELECT * FROM (
(SELECT ... UNION ... ) AS A
LEFT JOIN
(SELECT A, B, C, D FROM Table_1) AS B
ON WHERE A.XX = B.XX
LEFT JOIN
(SELECT A, B, C, D FROM Table_1) AS C
) AS D
END;
您有两个单独的SELECT查询。它们都需要一个FROM子句。我不知道第二个代码块与第一个代码块有什么关系。您正在处理多少个表?您能显示调用代码吗?不能创建在某些情况下返回标量值而在其他情况下返回表的函数。您必须使用两个不同的函数。这看起来像一个。你想做什么?戈登提供的答案很有效。。。我对SQL非常陌生,语法很混乱。Gordon解释说有两个单独的Select查询,每个查询都需要自己的FROM子句。我将使用single From子句返回结果。。。。