如何将 2 个查询加入 1 个
how to join 2 queries into 1
我正在尝试加入以下两个查询
select * from MapCountries where IndexName='SPX Index' and date(ModifiedDate)='2015-04-24';
select DRegion,DCountry,GICS1,GICS2,LRY,BBGLableValues from CompanyDetails where IndexName='SPX Index' and CompanyTicker='A UN' and date(ModifiedDate)='2015-04-24';
第二个查询从第一个查询的 "while(reader.read())" 触发。
这占用了很多 CPU 时间。那么有没有办法加入这两个查询来减少 CPU 的使用?
while (reader.Read())
{
var regionModelTest = new RegionModelTest();
ExtractCompanyDetails(Index, regionModelTest);
...
}
ExtractCompanyDetails(Index, regionModelTest)
{
second query;
}
第二个查询的 CompanyTicker 来自第一个查询的一个字段。
感谢您的帮助。
您可以尝试简单的左连接:
select * from MapCountries mc
left join CompanyDetails cd on mc.IndexName = cd.IndexName and mc.ModifiedDate = cd.ModifiedDate
where mc.IndexName='SPX Index' and date(mc.ModifiedDate)='2015-04-24' and cd.CompanyTicker='A UN'
我正在尝试加入以下两个查询
select * from MapCountries where IndexName='SPX Index' and date(ModifiedDate)='2015-04-24';
select DRegion,DCountry,GICS1,GICS2,LRY,BBGLableValues from CompanyDetails where IndexName='SPX Index' and CompanyTicker='A UN' and date(ModifiedDate)='2015-04-24';
第二个查询从第一个查询的 "while(reader.read())" 触发。 这占用了很多 CPU 时间。那么有没有办法加入这两个查询来减少 CPU 的使用?
while (reader.Read())
{
var regionModelTest = new RegionModelTest();
ExtractCompanyDetails(Index, regionModelTest);
...
}
ExtractCompanyDetails(Index, regionModelTest)
{
second query;
}
第二个查询的 CompanyTicker 来自第一个查询的一个字段。
感谢您的帮助。
您可以尝试简单的左连接:
select * from MapCountries mc
left join CompanyDetails cd on mc.IndexName = cd.IndexName and mc.ModifiedDate = cd.ModifiedDate
where mc.IndexName='SPX Index' and date(mc.ModifiedDate)='2015-04-24' and cd.CompanyTicker='A UN'