大家好,有两个表
表a  数量 名称    型号    表b  数量   名称    生产日期
     100   避雷器  XX           1001    避雷器  yy-mm-dd
     ..    ..     ..            ..     ..     ......
想将表b中与表a中名称相同的产品的数量加到表a中 然后再在表a中查询显示出来用如下 语句
select a.名称,a.数量=a.数量+b.数量 
from a,b
where a.名称=b.名称
来执行显示
结果在DbGrid中 数量这个字段的值为O 并且所显示的“数量”也变成了"Expr1001",不知为什么请各位高手指点。。

解决方案 »

  1.   

    select a.名称,a.数量+b.数量 as 数量
    from a,b
    where a.名称=b.名称
      

  2.   

    select a.名称,a.数量=a.数量+b.数量
    from a,b
    where a.名称=b.名称
    就是错的~~分析器里通不过
      

  3.   

    想将表b中与表a中名称相同的产品的数量加到表a中
    这个想法不可行!!你每次执行,那些加过的都会再次的执行的。
      

  4.   

    select a.名称, a.数量+b.数量 as 数量
    from a,b
    where a.名称=b.名称
      

  5.   

    To : hangzhou_hammer
    我是想将表b 作为入库表  表a是原有的库存表  就是将有相同名称的产品的数量相加再放到库存表a 中 现在突然发现: 原来中没有的的产品 应该添加上去的 
    若将a表中没有的但b表中有的产品的名称加上去的话 应联合查询吧 刚学sql不知怎样能实现 请各位高手 指点。虚心心听取 谢谢
      

  6.   

    To: xxmmmx(踢踏)
    非常感谢,按照你的方法可以成功运行了
      

  7.   

    select 名称,sum(数量) as 数量 from
    (select a.名称,a.数量
    union
    select b.名称,b.数量) x
    group by 名称
      

  8.   

    update a set 数量=a.数量+isnull(b.数量,0) from b where a.名称=b.名称
      

  9.   

    谢谢 wgzaaa()能将表b.数量加到表a中去,并显示
    但表a中原来的字段值都不能显示了 只能显示符合a.名称=b.名称的字段现在想将a表和b表中不相等的字段也都一块显示出来我在adodataset的CommandText中输入以下的语句来执行
    select a.名称,a.数量+b.数量 as 数量 from a,b
    union
    select a.名称,a.数量,from a,b where a.名称<>b.名称由于union 连接的前后字段的类型必须一致,我只能先将a表和b表不相等的在a表中的字段先显示出来,但在DBgrid中显示的是
    原来完整的a表又加了一条a表和b表相同名称的字段 
    显示的是并没有符合条件(条件是:将a.名称<>b.名称)的联合查询不知为什么,请各位高手指点。谢谢