我想请问各位
select pStreet,count(distinct pComname) comnameNum
 from tbl_Product 
 where pStreet in (select distinct pStreet from tbl_Product)
 group by pStreet     单位和行业数量
select distinct pComname ,count(cTime) cTimeNum from tbl_Condition where cTime is not null
group by pComname     巡检数量
select COUNT(distinct pComname) from tbl_Condition   巡检间数如何把上面这3条查询语句合并成一条查询语句?很急啊~~高分送上SQLselect合并

解决方案 »

  1.   

    try this,select * from
    (
    select pStreet,count(distinct pComname) comnameNum
     from tbl_Product 
     where pStreet in (select distinct pStreet from tbl_Product)
     group by pStreet
    union all
    select distinct pComname,count(cTime) cTimeNum 
     from tbl_Condition 
     where cTime is not null
     group by pComname
    union all
    select '',COUNT(distinct pComname) 
     from tbl_Condition
    ) t
      

  2.   

    试试这个SELECT  MAX(pStreet) pStreet ,
            SUM(comnameNum) comnameNum ,
            MAX(pComname) pComname ,
            SUM(cTimeNum) cTimeNum ,
            SUM(pComname) pComname
    FROM    ( SELECT    pStreet ,
                        COUNT(DISTINCT pComname) comnameNum ,
                        NULL AS pComname ,
                        0 AS cTimeNum ,
                        0 AS pComname
              FROM      tbl_Product
              WHERE     pStreet IN ( SELECT DISTINCT
                                            pStreet
                                     FROM   tbl_Product )
              GROUP BY  pStreet
              UNION ALL
              SELECT    NULL ,
                        0 ,
                        pComname ,
                        COUNT(cTime) cTimeNum ,
                        0
              FROM      tbl_Condition
              WHERE     cTime IS NOT NULL
              GROUP BY  pComname
              UNION ALL
              SELECT    NULL ,
                        0 ,
                        NULL ,
                        COUNT(DISTINCT pComname) pComname
              FROM      tbl_Condition
            ) t
      

  3.   


    他查询四个数据,这四个数据在3个不同的表,这3个表没有链接,只有这样三条查询语句,我就是想把这三个查询出来的结果放到asp.net的datalist中
      

  4.   


    出现了这个错误:使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式。
      

  5.   

    写漏了个东西,我知道你没有关联,不然可以用join而不用unionSELECT  MAX(pStreet) pStreet ,
            SUM(comnameNum) comnameNum ,
            MAX(pComname) pComname ,
            SUM(cTimeNum) cTimeNum ,
            SUM(pComname) pComname
    FROM    ( SELECT    pStreet ,
                        COUNT(DISTINCT pComname) comnameNum ,
                        NULL AS pComname ,
                        0 AS cTimeNum ,
                        0 AS pComname
              FROM      tbl_Product
              WHERE     pStreet IN ( SELECT DISTINCT
                                            pStreet
                                     FROM   tbl_Product )
              GROUP BY  pStreet
              UNION ALL
              SELECT    NULL ,
                        0 ,
                        pComname ,
                        COUNT(cTime) cTimeNum ,
                        0
              FROM      tbl_Condition
              WHERE     cTime IS NOT NULL
              GROUP BY  pComname
              UNION ALL
              SELECT    NULL ,
                        0 ,
                        NULL ,
                        0
                        COUNT(DISTINCT pComname) pComname
              FROM      tbl_Condition
            ) t
      

  6.   

    SELECT  MAX(pStreet) pStreet ,
            SUM(comnameNum) comnameNum ,
            MAX(pComname) pComname ,
            SUM(cTimeNum) cTimeNum ,
            SUM(pComname) pComname
    FROM    ( SELECT    pStreet ,
                        COUNT(DISTINCT pComname) comnameNum ,
                        NULL AS pComname ,
                        0 AS cTimeNum ,
                        0 AS pComname
              FROM      tbl_Product
              WHERE     pStreet IN ( SELECT DISTINCT
                                            pStreet
                                     FROM   tbl_Product )
              GROUP BY  pStreet
              UNION ALL
              SELECT    NULL ,
                        0 ,
                        pComname ,
                        COUNT(cTime) cTimeNum ,
                        0
              FROM      tbl_Condition
              WHERE     cTime IS NOT NULL
              GROUP BY  pComname
              UNION ALL
              SELECT    NULL ,
                        0 ,
                        NULL ,
                        0,
                        COUNT(DISTINCT pComname) pComname
              FROM      tbl_Condition
            ) t少了个逗号