大类ID:BigClassID=85 分类表:SmallClass 产品表:Products
select *,bbb.countpp from (SmallClass left join (select SmallClassID,count(*) as countpp from Products group by SmallClassID) bbb on SmallClass.ID=bbb.SmallClassID) where BigClassID=$BigClassID order by XCODE asc ================== 分类信息统计功能的实现(sql多表left join) 相关文件: 1.products.php(分类信息)
相关数据库表: 大类ID:BigClassID=85 分类表:SmallClass 产品表:Products
核心功能:
(一条SQL语句实现2个表left join,并实现分类信息统计) select *,bbb.countpp from (SmallClass left join (select SmallClassID,count(*) as countpp from Products group by SmallClassID) bbb on SmallClass.ID=bbb.SmallClassID) where BigClassID=$BigClassID order by XCODE asc
核心代码:
分类信息页面:products.php ....................................................................... <!-- 程序部分 --> <? $rs_small = new com("ADODB.RecordSet"); $sql_small="select *,bbb.countpp from (SmallClass left join (select SmallClassID,count(*) as countpp from Products group by SmallClassID) bbb on SmallClass.ID=bbb.SmallClassID) where BigClassID=$BigClassID order by XCODE asc"; $rs_small->Open("$sql_small",$conn,1,1); while(! $rs_small->eof) { ?> <LI><SPAN id=ppbr1 class=ppout><A href="products.php?BigClassID=<? echo $rs_small->Fields(BigClassID)->value; ?>&SmallClassID=<? echo $rs_small->Fields(ID)->value; ?>"><? echo $rs_small->Fields(XNAME)->value; ?>( <? if($rs_small->Fields(countpp)->value!="") { echo $rs_small->Fields(countpp)->value; } else { echo "0"; } ?>
)</A></SPAN></LI> <? $rs_small->MoveNext(); }?> <!-- 程序部分 -->4216.com/view_434_4.html
|