假设有三个表:a,b,c,他们有相同的字段:ordernumber
select c.ordernumber,count,c.customer,from (SELECT ordernumber,count form a union select ordernumber,count from b),c where c.ordernumber=???.ordernumber
我把a表b表作一个union后得到的集合再与c表中ordernumber相同的数组成一个集合
问题是:组成union后的这个集合的ordernumber算那个表的?
也就是我的where不好判断?
也就是上面我打问号的?

解决方案 »

  1.   

    select c.ordernumber,count,c.customer,from (SELECT ordernumber,count form a union select ordernumber,count from b) as t,c where c.ordernumber=t.ordernumber
      

  2.   

    select c.ordernumber,count,c.customer,from (SELECT ordernumber,count form a union select ordernumber,count from b) X,c where c.ordernumber=X.ordernumber
      

  3.   

    from (SELECT ordernumber,count form a union select ordernumber,count from b)
    加  as 你命名的表名
      

  4.   

    引用hiflower(花)
    select c.ordernumber,count,c.customer,from (SELECT ordernumber,count form a union select ordernumber,count from b) X,c where c.ordernumber=X.ordernumber
      

  5.   

    thomsonyin (爱死你) 
    Union以后应该是一个新的表,所以既不是a表的也不是b表的,而是这个新表自己的,hiflower(花)正解.
      

  6.   

    select c.ordernumber,count,c.customer
    from (SELECT ordernumber,count form a union select ordernumber,count from b) X,c where c.ordernumber=X.ordernumber
      

  7.   

    huang_jihua(不懂...学习) 的不是正解吗?
    为什么这里不用as?