解决方案 »

  1.   

    SQL查出的结果就是某一天有可能A表统计为0,B表>0也可能相反
      

  2.   

    我只知道时间并集是这样SELECT CONVERT(varchar(100), ordertime, 23) from RegisterUsers A INNER JOIN M_UserOrderAudio B on A.Id=B.UserId
    UNION
    SELECT CONVERT(varchar(100), ordertime, 23) from RegisterUsers A INNER JOIN M_UserOrderProduct C on A.Id=C.UserId
      

  3.   

    你先用UNION ALL把B和C表查询的相关字段合并成一个表,在JOIN表A并统计时间。
      

  4.   

    作为外键的 UserId 不会凭空多出来的,所以没必要关联 A 表。
        SELECT ordertime,
               SUM(Fee) Fee
          FROM (
                    select CONVERT(varchar(100), ordertime, 23) as ordertime,
                           sum(ISNULL(Fee, 0)) AS Fee
                      from M_UserOrderAudio
                  GROUP BY CONVERT(varchar(100), ordertime, 23)
                UNION ALL
                    select CONVERT(varchar(100), ordertime, 23) as ordertime,
                           sum(ISNULL(Fee, 0)) AS Fee
                      from M_UserOrderProduct
                  GROUP BY CONVERT(varchar(100), ordertime, 23)
              ) t
     GROUP BY ordertime