可能是用了group by 分组的原因吧,

解决方案 »

  1.   

    回一楼,应该不是的,我将”WHERE crea_date>#10/1/2002# And crea_date<#10/31/2002#“这句去掉,查询全年所有商品是对的。
      

  2.   

    TO qing39(阿Q):
    就算我查询的时候限制了1个月,但是用左连接后,所有商品都应该显示吧,最多有些商品的”数量“,”单价“,”金额“为NULL
      

  3.   

    SELECT A.pdt_name AS 商品名称, B.quantity AS 数量, B.price AS 单价, B.cnt AS 金额
    FROM PDT_TABLE as A LEFT JOIN 
    (SELECT PDT_ID, sum(quantity) AS quantity, sum(cnt)/sum(quantity) AS price, sum(cnt) AS cnt
    FROM XSFP_TABLE 
    WHERE crea_date>="2002-10-1" And crea_date=<"2002-10-31"
    GROUP BY pdt_id) as B
    on A.pdt_id = B.pdt_id
      

  4.   

    我觉得原因可能是在你的选择的列里面,有的计算列因为在某商品没有销售的时候,计算列出了问题,比如sum(cnt)/sum(quantity)  又没有溢出的可能?之所以选择全年的好了,那是因为你悬念的数据比较全,所有产品都有销售记录。你自己不防,不要计算列在试一下
      

  5.   

    TO  iclt(iclt) :
    不要计算列也不行。
      

  6.   

    左链接是能出来所有的产品,但是你的where条件把那些不是当月的都虑掉了阿
      

  7.   

    TO tj_dns(愉快的登山者):
    按照你的做法是对的,但是您能解释一下吗?谢谢
      

  8.   

    我觉得可以把where 条件改一下
    WHERE (crea_date>#10/1/2002# And crea_date<#10/31/2002#) or crea_date is null
      

  9.   

    where到里面去了,当然不会虑掉你左连接出来的其他数据