直接UNION ALL就可以了如果并在一起后,还要可以区分,可以加个辅助字段,如下select 值 as uab,'uab' Type  from (select  数据点名称,值 from BDSRealtimeData
where 数据点名称 like '%一采区变电所高压%'
and tag名称 like '%yc%' ) as a where a.数据点名称 like '%开关Uab%' )UNION ALLselect 值 as ia,'ia'  from (select 数据点名称,值 from BDSRealtimeData
where 数据点名称 like '%一采区变电所高压%'
and tag名称 like '%yc%' ) as a where a.数据点名称 like '%开关ia%' 

解决方案 »

  1.   

    大哥 你这样的话 数据都在一列中啊 没有区分开啊·~ 我要的是 uab一列 ,IA 一列啊
      

  2.   

    ;WITH CTE AS(
    SELECT  数据点名称,值,时间
    FROM BDSRealtimeData
    WHERE 数据点名称 LIKE '%一采区变电所高压%'
    AND tag名称 LIKE '%yc%'
    )
    SELECT T1.值 Uab,T2.值 ia FROM
    (SELECT 值,ROW_NUMBER()OVER(ORDER BY 时间)RN FROM CTE WHERE 数据点名称 LIKE '%开关Uab%')T1
    FULL JOIN
    (SELECT 值,ROW_NUMBER()OVER(ORDER BY 时间)RN FROM CTE WHERE 数据点名称 LIKE '%开关ia%')T2
    ON T1.RN=T2.RN
      

  3.   


    select   (case when 数据点名称 like '%开关Uab%' then 值 end ) as uab
    ,(case when 数据点名称 like '%开关ia%' then 值 end ) as ia
    from (
    select  数据点名称,值 from BDSRealtimeData
    where 数据点名称 like '%一采区变电所高压%'
    and tag名称 like '%yc%' 
    ) as a 
    where a.数据点名称 like '%开关Uab%' or a.数据点名称 like '%开关ia%'
      

  4.   


    select   (case when 数据点名称 like '%开关Uab%' then 值 end ) as uab
    ,(case when 数据点名称 like '%开关ia%' then 值 end ) as ia
    from (
    select  数据点名称,值 from BDSRealtimeData
    where 数据点名称 like '%一采区变电所高压%'
    and tag名称 like '%yc%' 
    ) as a 
    where a.数据点名称 like '%开关Uab%' or a.数据点名称 like '%开关ia%'大哥 你的结果  同一个数据点的 两个值不在一列·~
    uab                     ia
    10291.92 NULL
    NULL         4.41
    10357.8         NULL
    NULL         1.47
    0                  NULL
    NULL            0
      

  5.   

    WITH CTE AS(
        SELECT  数据点名称,值,时间
        FROM BDSRealtimeData
        WHERE 数据点名称 LIKE '%一采区变电所高压%'
            AND tag名称 LIKE '%yc%'
    )
    先把你需要的全部数据过滤出来
    (SELECT 值,ROW_NUMBER()OVER(ORDER BY 时间)RN FROM CTE WHERE 数据点名称 LIKE '%开关Uab%')T1
    再查出Uab的数据,并排序
    FULL JOIN
    然后,全连接ia的部分
     (SELECT 值,ROW_NUMBER()OVER(ORDER BY 时间)RN FROM CTE WHERE 数据点名称 LIKE '%开关ia%')T2
    查出ia的数据,也排序
    ON T1.RN=T2.RN
    以序号相同,当同一行