WITH ResultSet1 AS (
SELECT LocId
from map_Sites ms
inner join map_WaterSystems mw on mw.SiteId = ms.SiteId
inner join map_Locations ml on mw.SysID = ml.SysID
where ms.SiteId = 344 and LocId <> 9604
), ResultSet2 AS (
select dl.ParamID, dl.alertNumExceed, dl.upperAlarm, dl.lowerAlarm, dl.alertOn, dl.EntryUserID, dl.ParamOrder
from data_LocParams dl where LocId = 9604
)
select
ResultSet1.LocId, ResultSet2.*
from ResultSet1
cross join ResultSet2
In answer to Nate’s comment, you can INSERT using WITH:
WITH ResultSet1 AS (
SELECT LocId
from map_Sites ms
inner join map_WaterSystems mw on mw.SiteId = ms.SiteId
inner join map_Locations ml on mw.SysID = ml.SysID
where ms.SiteId = 344 and LocId <> 9604
), ResultSet2 AS (
select dl.ParamID, dl.alertNumExceed, dl.upperAlarm, dl.lowerAlarm, dl.alertOn, dl.EntryUserID, dl.ParamOrder
from data_LocParams dl where LocId = 9604
)
insert into yourTable
select
ResultSet1.LocId, ResultSet2.*
from ResultSet1
cross join ResultSet2
Or you can write this without WITH:
insert into yourTable
select
ResultSet1.LocId, ResultSet2.*
from (
SELECT LocId
from map_Sites ms
inner join map_WaterSystems mw on mw.SiteId = ms.SiteId
inner join map_Locations ml on mw.SysID = ml.SysID
where ms.SiteId = 344 and LocId <> 9604
) as ResultSet1
cross join (
select dl.ParamID, dl.alertNumExceed, dl.upperAlarm, dl.lowerAlarm, dl.alertOn, dl.EntryUserID, dl.ParamOrder
from data_LocParams dl where LocId = 9604
) as ResultSet2