Sql 在一个答案中组合两个查询(同一表格)
我试图将这两个查询的结果合并到同一个答案中。当我尝试合并它们时,If exists会给我带来问题。我该怎么做 问题1Sql 在一个答案中组合两个查询(同一表格),sql,sql-server,join,jdbc,Sql,Sql Server,Join,Jdbc,我试图将这两个查询的结果合并到同一个答案中。当我尝试合并它们时,If exists会给我带来问题。我该怎么做 问题1 IF EXISTS (select * from jobs where status='BUILDING' and Type='SLA' and Machine_Name= 'SLA1') BEGIN select * from jobs where status='BUILDING' and Type='SLA' and Machine_Name='SLA1' END
IF EXISTS (select * from jobs where status='BUILDING' and Type='SLA' and Machine_Name=
'SLA1')
BEGIN
select * from jobs where status='BUILDING' and Type='SLA' and Machine_Name='SLA1'
END
ELSE
select top 1 * from jobs where Scheduled_Time = (select min(Scheduled_Time) from Jobs
where status='IDLE' and type='SLA' and Machine_Name='SLA1')
问题2
if exists (select * from jobs where status='BUILDING' and Type='SLA' and Machine_Name=
'SLA3')
BEGIN
select * from jobs where status='BUILDING' and Type='SLA' and Machine_Name='SLA3'
END
ELSE
这些查询不相关,我不希望它们相互依赖。我想知道是否有类似于union语句的方法来连接它们,这样它就可以在一个结果中显示多个查询 更改的所有实例
and Machine_name = 'SLA1' -- or 3
到
我感谢你的意见。然而,这并不是我想要的工作方式。当某一机器类型的状态为“未生成”(例如sla3未生成),而SLA1为“生成”时,or语句会导致其无法到达else语句。如有任何帮助或建议,将不胜感激!我感谢你的意见。但是,此查询不起作用,因为如果一台机器(例如SLA3的状态为空闲,SLA1的状态为正在生成),它只显示SLA1,因为这两台机器在if exists语句中连接。这些查询可以是单独的,并且可以通过一个简单的关键字(如JOIN或and)组合在一起吗?任何帮助或建议都将不胜感激!
and machine_name in ('SLA1', 'SLA3')
IF EXISTS
SELECT *
FROM jobs
WHERE status = 'BUILDING' AND Type = 'SLA'
AND (Machine_Name = 'SLA1' OR Machine_Name = 'SLA3')
BEGIN
SELECT *
FROM jobs
WHERE status = 'BUILDING' AND Type = 'SLA'
AND (Machine_Name = 'SLA1' OR Machine_Name = 'SLA3')
END
ELSE
SELECT TOP 1 *
FROM jobs
WHERE Scheduled_Time =
(
SELECT MIN(Scheduled_Time)
FROM Jobs
WHERE status = 'IDLE' AND type = 'SLA'
AND (Machine_Name = 'SLA1' OR Machine_Name = 'SLA3')
)