SQL频繁查询效率

我现在有两张表格
icPageInfo_%s_%s和icCarInfo 
语句如下:
SELECT COUNT(*) AS Expr1 FROM icPageInfo_%s_%s a LEFT OUTER JOIN icCarInfo b ON a.InfoID = b.InfoID WHERE (b.CarNo = '%s') AND (b.ProductName = '%s') AND (b.ProcedureName = '职称') AND (a.DefectCode = 'A')",cs_proceN,ProductCo,ProductCo,cs_proceN)
注意:cs_proceN和ProductCo是变量赋值。
我现在实现目的查找A出现的次数,依次类推我需要查询相似A,B,C,D.......共32种类型出现次数。
服务器在远端,我该怎么写程序,总不能一次一次查找32次吧

作者: spring0z   发布时间: 2011-06-14

把32种类型存在一个表里,然后连接查询批量求个数。

作者: maco_wang   发布时间: 2011-06-14

try:
SQL code
SELECT 
sum(case when a.DefectCode = 'A' then 1 else 0 end)A,
sum(case when a.DefectCode = 'B' then 1 else 0 end)B,
sum(case when a.DefectCode = 'C' then 1 else 0 end)C,
sum(case when a.DefectCode = 'D' then 1 else 0 end)D,
COUNT(*) AS Expr1 FROM icPageInfo_%s_%s a LEFT OUTER JOIN icCarInfo b ON a.InfoID = b.InfoID WHERE (b.CarNo = '%s') AND (b.ProductName = '%s') AND (b.ProcedureName = '职称'),cs_proceN,ProductCo,ProductCo,cs_proceN)
--貌似你还要加上 group by 子句

作者: qianjin036a   发布时间: 2011-06-14

引用 2 楼 qianjin036a 的回复:
try:

SQL code
SELECT
sum(case when a.DefectCode = 'A' then 1 else 0 end)A,
sum(case when a.DefectCode = 'B' then 1 else 0 end)B,
sum(case when a.DefectCode = 'C' then 1 else 0 end)C,
sum(case……


像这样32次

作者: fredrickhu   发布时间: 2011-06-14