Combining Queries in to one Query

Hi,

I have Query like below to calculate Total Orders entered by employer

select De. Name as 'Requesting Employer', COUNT (Distinct(Em.OrderID)) As 'Total Orders' from
EmOrders Em
INNER JOIN DEmployer De on Em.EmployerID = De.EmployerID
where (Em.OrderDateTime between '03/01/2018' and '04/01/2018')
Group By De.Name
order by De.Name

and I am using below query to find the Total Orders entered between date 0200-1100 ... Just added this condition to above query to pull Orders between 02 am to 11 am...

select De.Name as 'Requesting Employer', COUNT (Distinct(Em.OrderID)) As 'Orders Between 0200-1100' from
EmOrders Em
INNER JOIN DEmployer De on Em.EmployerID = De.EmployerID
where (Em.OrderDateTime between '03/01/2018' and '04/01/2018')
and (DATEPART(HOUR, Oe.OrderDateTime) between 2 and 10 )
Group By De.Name
order by De.Name

How can I combine above two queries ?

If (DATEPART(HOUR, Oe.OrderDateTime) between 2 and 10 ) then 'COUNT (Distinct(Em.OrderID)) ' Gives 'Orders Between 0200-1100' Column

If (DATEPART(HOUR, Oe.OrderDateTime) not between 2 and 10 ) then 'COUNT (Distinct(Em.OrderID)) ' Gives 'Orders Outside the range' Column

I need One query to calculate below columns

'Requesting Employer' 'Total Orders' 'Orders Between 0200-1100' 'Orders Outside the range'

Can anyone please help me on this ?

Thanks,
Archana

You are referencing table alias Oe but I don't see that alias anywhere in your query.

In the following query, I'm assuming the Oe.OrderDateTime should have been Em.OrderDateTime

Query
select De.Name as [Requesting Employer]
      ,count(distinct(Em.OrderID)) as [Total Orders]
      ,count(distinct(case when datepart(hour,Em.OrderDateTime) between 2 and 10 then Em.OrderID else null end)) as [Orders Between 0200-1100]
  from EmOrders as Em
       inner join DEmployer as De
               on De.EmployerID=Em.EmployerID
 where Em.OrderDateTime>=cast('2018-03-01' as datetime)
   and Em.OrderDateTime<cast('2018-04-01' as datetime)
 group by De.Name
 order by De.Name
;
select De. Name as 'Requesting Employer', 
    COUNT (Distinct(Em.OrderID)) As 'Total Orders',
    COUNT(DISTINCT CASE WHEN DATEPART(HOUR, Em.OrderDateTime) BETWEEN 2 AND 10 
        THEN Em.OrderID END) AS [Orders Between 0200-1100],
    COUNT(DISTINCT CASE WHEN DATEPART(HOUR, Em.OrderDateTime) < 2 OR DATEPART(HOUR, Em.OrderDateTime) > 10
        THEN Em.OrderID END) AS [Orders Outside the range]
FROM EmOrders Em
INNER JOIN DEmployer De on Em.EmployerID = De.EmployerID
where (Em.OrderDateTime >= '03/01/2018' and Em.OrderDateTime < '04/01/2018')
Group By De.Name
order by De.Name

Thank you ScottPletcher .. It solved my problem.

Thanks,
Archana