SELECT * FROM 
(
SELECT id,name,age FROM a
UNION ALL 
SELECT id,name,age FROM b
)e
WHERE e.NAME IN ('aa','cc')

解决方案 »

  1.   


    你没给出条件,这个是取单数行
     select * from 表1 where CONVERT(int,id)%2=1  
     union all
     select * from 表2 where CONVERT(int,id)%2=1   
      

  2.   


    请问能否在子查询里直接加条件 大查询直接出结果可以我按照这个写法 试着写了一下 好像出来的数据不准确 没有自动合并
    麻烦请看一下:SELECT * FROM 
        (
        SELECT dept+itemcode as itemcode
          ,itemCN
          ,salesdate
          ,Suppliercode
          ,sum(SalesQty) as SalesQty
          ,sum(GrossSales) as GrossSales
      FROM [bjreport].[dbo].[DailySales201408]
      where storename in ('075','076')
      and dept = '10'
      group by dept+itemcode,itemCN,salesdate,Suppliercode
        UNION ALL 
        SELECT dept+itemcode as itemcode
          ,itemCN
          ,salesdate
          ,Suppliercode
          ,sum(SalesQty) as SalesQty
          ,sum(GrossSales) as GrossSales
      FROM [bjreport].[dbo].[DailySales201409]
      where storename in ('075','076')
      and dept = '10'
      group by dept+itemcode,itemCN,salesdate,Suppliercode
        )e
    WHERE e.Suppliercode in ('ZDJR')
    and e.salesdate between '2014-08-12' and '2014-09-8'
      

  3.   


    请问能否在子查询里直接加条件 大查询直接出结果可以我按照这个写法 试着写了一下 好像出来的数据不准确 没有自动合并
    麻烦请看一下:SELECT * FROM 
        (
        SELECT dept+itemcode as itemcode
          ,itemCN
          ,salesdate
          ,Suppliercode
          ,sum(SalesQty) as SalesQty
          ,sum(GrossSales) as GrossSales
      FROM [bjreport].[dbo].[DailySales201408]
      where storename in ('075','076')
      and dept = '10'
      group by dept+itemcode,itemCN,salesdate,Suppliercode
        UNION ALL 
        SELECT dept+itemcode as itemcode
          ,itemCN
          ,salesdate
          ,Suppliercode
          ,sum(SalesQty) as SalesQty
          ,sum(GrossSales) as GrossSales
      FROM [bjreport].[dbo].[DailySales201409]
      where storename in ('075','076')
      and dept = '10'
      group by dept+itemcode,itemCN,salesdate,Suppliercode
        )e
    WHERE e.Suppliercode in ('ZDJR')
    and e.salesdate between '2014-08-12' and '2014-09-8'
    参数中‘2014-09-8’有点笔误,但是不会影响结果。
    语法没有错误,但是楼主指抓取数据不对。连原始数据及想要的得到的数据都没有贴出来,表示谁都查不出原因。
      

  4.   

    参数中‘2014-09-8’有点笔误,但是不会影响结果。
    语法没有错误,但是楼主指抓取数据不对。连原始数据及想要的得到的数据都没有贴出来,表示谁都查不出原因。我就是想让两个月的表合在一起 查跨月的中秋销售数据 已经把代码修改对了SELECT itemcode
          ,itemCN
          ,Suppliercode
          ,sum(SalesQty) as SalesQty
          ,sum(GrossSales) as GrossSales
     FROM 
        (
        SELECT dept+itemcode as itemcode
          ,itemCN
          ,salesdate
          ,Suppliercode
          ,SalesQty
          ,GrossSales
      FROM [bjreport].[dbo].[DailySales201408]
      where storename in ('075','076')
      and dept = '10'
        UNION ALL 
        SELECT dept+itemcode as itemcode
          ,itemCN
          ,salesdate
          ,Suppliercode
          ,SalesQty
          ,GrossSales
      FROM [bjreport].[dbo].[DailySales201409]
      where storename in ('075','076')
      and dept = '10'
        )e
    WHERE e.Suppliercode in ('ZDJR')
    and e.salesdate between '2014-08-12' and '2014-09-08'
    group by itemcode,itemCN,Suppliercode
      

  5.   

    参数中‘2014-09-8’有点笔误,但是不会影响结果。
    语法没有错误,但是楼主指抓取数据不对。连原始数据及想要的得到的数据都没有贴出来,表示谁都查不出原因。我就是想让两个月的表合在一起 查跨月的中秋销售数据 已经把代码修改对了SELECT itemcode
          ,itemCN
          ,Suppliercode
          ,sum(SalesQty) as SalesQty
          ,sum(GrossSales) as GrossSales
     FROM 
        (
        SELECT dept+itemcode as itemcode
          ,itemCN
          ,salesdate
          ,Suppliercode
          ,SalesQty
          ,GrossSales
      FROM [bjreport].[dbo].[DailySales201408]
      where storename in ('075','076')
      and dept = '10'
        UNION ALL 
        SELECT dept+itemcode as itemcode
          ,itemCN
          ,salesdate
          ,Suppliercode
          ,SalesQty
          ,GrossSales
      FROM [bjreport].[dbo].[DailySales201409]
      where storename in ('075','076')
      and dept = '10'
        )e
    WHERE e.Suppliercode in ('ZDJR')
    and e.salesdate between '2014-08-12' and '2014-09-08'
    group by itemcode,itemCN,Suppliercodesql是没有问题的,但没有数据我也不知道哪里有问题。
      

  6.   

    参数中‘2014-09-8’有点笔误,但是不会影响结果。
    语法没有错误,但是楼主指抓取数据不对。连原始数据及想要的得到的数据都没有贴出来,表示谁都查不出原因。我就是想让两个月的表合在一起 查跨月的中秋销售数据 已经把代码修改对了SELECT itemcode
          ,itemCN
          ,Suppliercode
          ,sum(SalesQty) as SalesQty
          ,sum(GrossSales) as GrossSales
     FROM 
        (
        SELECT dept+itemcode as itemcode
          ,itemCN
          ,salesdate
          ,Suppliercode
          ,SalesQty
          ,GrossSales
      FROM [bjreport].[dbo].[DailySales201408]
      where storename in ('075','076')
      and dept = '10'
        UNION ALL 
        SELECT dept+itemcode as itemcode
          ,itemCN
          ,salesdate
          ,Suppliercode
          ,SalesQty
          ,GrossSales
      FROM [bjreport].[dbo].[DailySales201409]
      where storename in ('075','076')
      and dept = '10'
        )e
    WHERE e.Suppliercode in ('ZDJR')
    and e.salesdate between '2014-08-12' and '2014-09-08'
    group by itemcode,itemCN,Suppliercode
    这样执行有数据嘛?SELECT dept+itemcode as itemcode
          ,itemCN
          ,salesdate
          ,Suppliercode
          ,SalesQty
          ,GrossSales
      FROM [bjreport].[dbo].[DailySales201408]
      where storename in ('075','076')
      and dept = '10'
        UNION ALL 
        SELECT dept+itemcode as itemcode
          ,itemCN
          ,salesdate
          ,Suppliercode
          ,SalesQty
          ,GrossSales
      FROM [bjreport].[dbo].[DailySales201409]
      where storename in ('075','076')
      and dept = '10'