Junte-se a 2 consultas mssql

0

Eu preciso ingressar nas consultas do MSSQL, mas não estou chegando a lugar algum com isso.

As duas consultas retornam um único valor:

 SELECT COUNT(*) FROM sysjobhistory WHERE run_status <> 1 AND step_id = 0;

 SELECT MAX (run_date) FROM sysjobhistory WHERE run_status = 1 AND step_id = 0;

Eu sou um noob total do SQL, então qualquer ajuda é apreciada

    
por Bruno9779 09.06.2014 / 20:36

2 respostas

1

É difícil dizer o que você quer que a saída seja, mas acho que isso ajudará você:

DECLARE @Count INT
DECLARE @MaxRunDate DateTime -- I'm guessing run_date is a datetime... 

SELECT @Count = COUNT(*)
    FROM sysjobhistory WHERE run_status <> 1 AND step_id = 0;
SELECT @MaxRunDate = MAX(run_date)
    FROM sysjobhistory WHERE run_status = 1 AND step_id = 0;

SELECT @Count, @MaxRunDate

Existem outras maneiras de fazer isso, incluindo o uso de um JOIN, mas acredito que o acima é mais fácil de entender, especialmente para iniciantes.

    
por 10.06.2014 / 05:57
2

Se você quiser unir, nomeie as colunas:

SELECT COUNT(*) AS 'Column' FROM sysjobhistory WHERE run_status <> 1 AND step_id = 0
 UNION
SELECT MAX (run_date) AS 'Column' FROM sysjobhistory WHERE run_status = 1 AND step_id = 0

Se você quiser as duas colunas na mesma consulta, poderá usar subconsultas:

SELECT (SELECT COUNT(*) FROM sysjobhistory WHERE run_status <> 1 AND step_id = 0) AS 'Count', (SELECT MAX (run_date) AS 'Column' FROM sysjobhistory WHERE run_status = 1 AND step_id = 0) AS 'Max'
    
por 13.11.2016 / 23:15

Tags