Соединить 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 нуб так любая помощь ценится

14
задан Bruno9779
07.11.2022 8:39 Количество просмотров материала 2634
Распечатать страницу

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 2022-11-08 16:27

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

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 2022-11-08 18:44

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх