select distinct convert(varchar,AddTime,2) as RIqi from G_incomeAll
union select distinct convert(varchar,AddTime,2) as RIqi from G_CashFlowsAll
union select distinct convert(varchar,AddTime,2) as RIqi from G_BalanceAll--union -->union all
注意如果三个表中任意两表存在 相同记录就不能all了

解决方案 »

  1.   

    full join 前面那个union不可能省略掉吗?
      

  2.   

    union all ???为什么呢??
      

  3.   

    select coalesce(t1.RIqi,t2.RIqi,t3.RIqi) RIqi,t1.代码,t1.income数,t2.代码,t2.CashFlows数,t3.代码,t3.Balance数 from 
    (select convert(varchar,AddTime,2) as RIqi,count(distinct symbol) as 代码,count(*) as income数 from G_incomeAll GROUP BY convert(varchar, AddTime,2)) as t1
    FULL join (select convert(varchar,AddTime,2) as RIqi,count(distinct symbol) as 代码,count(*) as CashFlows数 from G_CashFlowsAll GROUP BY convert(varchar, AddTime,2)) t2 on t2.riqi=t.riqi
    FULL join (select convert(varchar,AddTime,2) as RIqi,count(distinct symbol) as 代码,count(*) as Balance数 from G_BalanceAll GROUP BY convert(varchar, AddTime,2)) t3 on t3.riqi=t.riqi
    order by T1.riqi,T2.riqi,T3.riqi
      

  4.   

    szx1999 的办法很好。还有更好的方法吗?