我的数据库中有四个字段,F_id,F_productname,F_price,F_person,
我想实现把产品名现同的记录进行合并,并把产品名相同的价格进行累加,把累加的结果显示到第一个出现这个产品名的地方。我听说可以用SQl语句实现,然后用VB来执行。我用的控件是MSFlexGrid,控件,请高手帮忙把Sql语句写出来,我原先写过,但是提示聚合什么错误的:select F_id,F_productname,sum(F_price),F_person  from T_product where F_productname in (F_price) group by F_productname order by F_id

解决方案 »

  1.   

    group by f_id,f_productname,f_person
      

  2.   

    说明:你如果要得到产品名相同但F_id不同的记录的累加,应写成如下形式:
    1、去掉F_id
       select F_productname,sum(F_price),F_person  from T_product group by F_productname order by F_id
    2、F_id也去用聚合函数,如count
       select count(F_id) as countid ,F_productname,sum(F_price),F_person  from T_product where F_productname group by F_productname order by F_id你如果要得到产品名相同,F_id也相同,应写成如下形式:
       select F_id as countid ,F_productname,sum(F_price),F_person  from T_product group by F_id,F_productname order by F_id 我不知道你的Where条件是何意思。