SQL IF / ELSE Заявление - PullRequest
       2

SQL IF / ELSE Заявление

0 голосов
/ 13 ноября 2018

У меня есть оператор 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 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.  

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 13 ноября 2018

Это то, что вы хотите?

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...