select convert(varchar(7),订单时间,111) as 月,count(distinct O.客户ID) 下订单总客户数A 
,SUM(CASE WHEN convert(varchar(7),订单时间,111)=convert(varchar(7),注册时间,111) THEN 1 ELSE 0 END) 当月新注册并下订单客户数B
from O,C WHERE O.客户ID=C.客户ID  group by 月

解决方案 »

  1.   

    select convert(char(7),订单时间,120) as 年月  ,
    sum(订单ID) 订单的客户数 as from 客户表 A, 订单表 B  
    where A.客户ID =B.客户ID 
    group by convert(char(7),订单时间,120)有一點不太理解樓主的意思
    下订单总客户数A   当月新注册,并下订单客户数B
    這兩是用什麼條件來確定的。
    在你的數據庫裡。
    可以說的詳細一點嗎
    最好給出實例來
      

  2.   

    select convert(char(7),订单时间,120) as 年月  ,
    sum(订单ID) as 订单的客户数  from 客户表 A, 订单表 B  
    where A.客户ID =B.客户ID 
    group by convert(char(7),订单时间,120)
      

  3.   

    是convert(varchar(7),订单时间,111) 还是convert(varchar(7),订单时间,120) ??
      

  4.   

    CREATE TABLE C(客户ID INT, 注册时间 DATETIME)
    INSERT INTO C VALUES(1   ,      '2005-1-1 12:35:12')
    INSERT INTO C VALUES(2   ,      '2005-3-2 14:25:22')CREATE TABLE O(订单ID INT,   客户ID INT,   订单时间 DATETIME)
    INSERT INTO O VALUES(1  ,        1,        '2005-1-3  20:12:01')
    INSERT INTO O VALUES(2  ,        1,        '2005-2-10 22:10:10')
    INSERT INTO O VALUES(3  ,        2,        '2005-3-20 12:12:00')select convert(varchar(7),订单时间,120) as 月,count(distinct O.客户ID) 下订单总客户数A 
    ,SUM(CASE WHEN convert(varchar(7),订单时间,120)=convert(varchar(7),注册时间,120) THEN 1 ELSE 0 END) 当月新注册并下订单客户数B
    from O,C WHERE O.客户ID=C.客户ID  group by convert(varchar(7),订单时间,120)DROP TABLE C,O
      

  5.   

    如果当月该客户下了几次单,是不是只算一个?
    CREATE TABLE C(客户ID INT, 注册时间 DATETIME)
    INSERT INTO C VALUES(1   ,      '2005-1-1 12:35:12')
    INSERT INTO C VALUES(2   ,      '2005-3-2 14:25:22')CREATE TABLE O(订单ID INT,   客户ID INT,   订单时间 DATETIME)
    INSERT INTO O VALUES(1  ,        1,        '2005-1-3  20:12:01')
    INSERT INTO O VALUES(1  ,        1,        '2005-1-4  20:12:01')
    INSERT INTO O VALUES(2  ,        1,        '2005-2-10 22:10:10')
    INSERT INTO O VALUES(3  ,        2,        '2005-3-20 12:12:00')select 月,count(*) 下订单总客户数A 
    ,SUM(CASE WHEN 月=convert(varchar(7),注册时间,120) THEN 1 ELSE 0 END) 当月新注册并下订单客户数B
    from c,(select DISTINCT convert(varchar(7),订单时间,120) as 月,客户ID FROM O ) d
    where c.客户ID=d.客户ID group by 月DROP TABLE C,O