我需要获取priceinfo
表中存在的按日期排序的安全性计数。但是安全性类型在另一个表中(安全性主表)。
使用以下命令解决查询。
with priceinfo as
(
select distinct pdate
from pricing
where pdate >= '20190101'
)
select count(distinct security), pi.pdate
from pricing pi
join priceinfo on pricing.pdate = priceinfo.pdate
and security in (select distinct security
from securitymaster
where pdate = priceinfo.pdate
and securitytype='BOND' )
group by
pi.pdate
order by
pi.pdate
有没有更简单的方法来编写此查询?
注意:安全类型仅在安全主机中可用。 但是我需要价格表中存在的证券清单。
表:SecurityMaster
答案 0 :(得分:0)
这是您要寻找的吗?
select p.pdate, count(*)
from pricing p join
securitymaster sm
on p.pdate = sm.pdate and p.security = sm.security
where sm.securitytype = 'Bond'
group by p.pdate
order by p.pdate;