SQL语句:SELECT c.orderid, b.sum_qty
FROM vw_order_list c CROSS JOIN
          (SELECT SUM(psi_stock_in.qty) AS sum_qty
         FROM psi_stock_in
         WHERE psi_stock_in.itemcode = c.itemcode) b
总是弹出错误:列前缀 'c' 与查询中所用的表名或别名不匹配

解决方案 »

  1.   


    SELECT c.orderid, b.sum_qty
    FROM vw_order_list c CROSS JOIN
              (SELECT SUM(psi_stock_in.qty) AS sum_qty
             FROM psi_stock_in
             ) b
    on b.psi_stock_in.itemcode = c.itemcode
      

  2.   

      SELECT c.orderid, b.sum_qty
     FROM vw_order_list c CROSS JOIN
               (SELECT SUM(psi_stock_in.qty) AS sum_qty
              FROM psi_stock_in
              ) b
     where b.psi_stock_in.itemcode = c.itemcode 
      

  3.   

    谢谢!
    这下换成:
    列前缀 'b.psi_stock_in' 与查询中所用的表名或别名不匹配
      

  4.   

    sql server 版本为2000。
    应该与版本没关系吧?
      

  5.   

    SELECT c.orderid, b.sum_qty
      FROM vw_order_list c CROSS JOIN
                (SELECT itemcode,SUM(qty) AS sum_qty
               FROM psi_stock_in
               group by itemcode
               ) b
      where b.itemcode = c.itemcode  
      

  6.   

    我估计你想要这样的结果吧?SELECT  c.orderid ,
            b.sum_qty
    FROM    vw_order_list c
            LEFT JOIN ( SELECT  itemcode ,
                                SUM(qty) AS sum_qty
                        FROM    psi_stock_in
                        GROUP BY itemcode
                      ) b ON c.itemcode = b.itemcode