SELECT username, provincename,cityname, COUNT(*) AS cssum, customersn
        FROM (SELECT cust.username, cons.provinceid, cons.cityid, cust.customersn
                FROM Customer cust JOIN
                      Consume cons ON cust.customersn = cons.customersn
                WHERE cons.cid = '9000' AND cons.buyTime BETWEEN '2006-07-01' AND 
                      '2006-07-07'GROUP BY username , provinceid, cityid, customersn)l LEFT OUTER JOIN
      dbo.City ct ON ct.provinceId = l.provinceid AND ct.cityId = l.cityid语句没有语法错误,执行的时候显示;
服务器: 消息 209,级别 16,状态 1,行 1
列名 'provinceId' 不明确。
服务器: 消息 209,级别 16,状态 1,行 1
列名 'cityId' 不明确。
服务器: 消息 209,级别 16,状态 1,行 1
列名 'customerSn' 不明确。

解决方案 »

  1.   

    那就在provinceid, cityid, customersn前面加cust 或cons 
    cust.provinceid,cust.cityid
      

  2.   

    SELECT username, provincename,cityname, COUNT(*) AS cssum, customersn
            FROM (SELECT cust.username, cons.provinceid, cons.cityid, cust.customersn
                    FROM Customer cust JOIN
                          Consume cons ON cust.customersn = cons.customersn
                    WHERE cons.cid = '9000' AND cons.buyTime BETWEEN '2006-07-01' AND 
                          '2006-07-07'GROUP BY username ,cons.provinceid, cons.cityid, cust.customersn)l LEFT OUTER JOIN
          dbo.City ct ON ct.provinceId = l.provinceid AND ct.cityId = l.cityid