0
对我的查询有一些小问题。我正在努力为项目获得款项。我知道我可能错过了一些超级简单的东西,但我陷入了困境。如果有人可以看看,并给我一个关于如何解决这个问题的建议。总计函数/分组条款
select
(select count(distinct(o1.orderno))
from mck_hvs.orderheader o1 with(nolock)
where o1.orderno = od.orderno and o1.refrigerate = 'Y'
) as TotalColdOrders,
(select count(distinct(o2.orderno))
from mck_hvs.orderdetails o2 with(nolock)
where o2.orderno = od.orderno and o2.drugclass
not in ('null', 'Rx')
) as ControlledOrders,
(select count(distinct(o3.orderno))
from mck_hvs.orderheader o3 with(nolock)
where o3.orderno = od.orderno and o3.pucksideinorder = 'Y' and
o3.totesideinorder = 'N' and o3.numitems > 4
) as RobotOrders,
(select count(distinct(o4.orderno))
from mck_hvs.orderheader o4 with(nolock)
where o4.orderno = od.orderno and o4.pucksideinorder = 'Y' and
o4.totesideinorder = 'Y'
) as ComboOrders,
(select count(distinct(o5.rxnum))
from mck_hvs.orderdetails o5 with(nolock)
where o5.refrigerate = 'Y'
) as TotalColdScripts,
(select count(distinct(o6.rxnum))
from mck_hvs.orderdetails o6 with(nolock)
where o6.orderno = od.orderno and o6.drugclass
not in ('null', 'RX')
) as ControlledScripts,
(select sum(o7.numscripts)
from mck_hvs.orderheader o7 with(nolock)
where o7.orderno = od.orderno and o7.pucksideinorder = 'Y' and
o7.totesideinorder = 'N' and o7.numitems > 4
) as RobotScripts,
(select sum(o8.numscripts)
from mck_hvs.orderheader o8 with(nolock)
where o8.orderno = od.orderno and o8.pucksideinorder = 'Y' and
o8.totesideinorder = 'Y'
) as ComboOrderScripts,
count(distinct(od.orderno)) as TotalOrders,
count(distinct(od.rxnum)) as TotalScripts
from
mck_hvs.orderdetails od with(nolock)
一个LEFT JOIN ON ORDERHEADER和ORDERDETAILS并在SELECT超过GROUP申请案件或IIF BY – maSTAShuFu
你有什么问题?错误的结果或SQL错误?预期的结果或错误信息是什么? –
我得到“消息8120,级别16,状态1,行1列'Mck_hvs.orderdetails.orderno”在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。 –