Соединить 2 запроса в MSSQL

Мне нужно присоединиться к запросам MSSQL, но я ничего не получаю с этим.

оба запроса возвращают одно значение:

 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;

Я всего SQL нуб так любая помощь ценится

5
задан Bruno9779
источник

2 ответов

трудно сказать, что вы хотите, чтобы выход, но я думаю, что это поможет вам:

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

есть и другие способы сделать это, в том числе с помощью соединения, но я считаю, что выше легче понять, особенно для начинающих.

1
отвечен TTT 2014-06-10 03:57:07
источник

Если вы хотите объединить, назовите столбцы:

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

Если вы хотите два столбца в одном запросе, вы можете использовать подзапросы:

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'
2
отвечен Ryan Pavely 2016-11-13 22:50:34
источник

Другие вопросы ms-sql sql