合并2个select语句结果集

fm_*_*egy 3 sql derby

有没有办法结合sql中2个select语句的结果?(像Union运营商那样 - 但Union仅适用于相同数量和类型的列)

我想做点什么

SELECT * FROM JOBS j 
UNION 
SELECT COUNT(fj.Id_Filter) FROM JOBS j LEFT JOIN FILTER_JOBS fj ON j.Id=fj.Id_Job
Run Code Online (Sandbox Code Playgroud)

但它不适用于UNION

Rob*_*ert 5

select语句的AlL 必须具有相同的列数,您可以通过添加null带有别名的值列来实现,例如:

SELECT cast(null as int) as cnt,col1,col2 FROM JOBS j 
UNION 
SELECT COUNT(fj.Id_Filter),null,null FROM JOBS j LEFT JOIN FILTER_JOBS fj ON j.Id=fj.Id_Job
Run Code Online (Sandbox Code Playgroud)

您需要将别名放在1st cast语句中并使用强制转换.在第二个语句中,您需要包含与第一个相同的列数null.

编辑:

SELECT cast(null as int) as cnt,j.* FROM JOBS j 
UNION 
SELECT COUNT(fj.Id_Filter),j.* FROM JOBS j LEFT JOIN FILTER_JOBS fj ON j.Id=fj.Id_Job
Run Code Online (Sandbox Code Playgroud)