通过复杂麻烦的查询以后
我得到了
ID value1 value2
1   v11    v12
2   v21    v22
3   v31    v32再通过另外一个查询得到
ID  value1 value2
2    v211  v222
 如何得到
ID  value1 value2  value1  value2
1    v11    v12
2    v21    v22     v211   v222
3    v31    v32谢谢 

解决方案 »

  1.   


    select tb1.id,tb1.value1,tb1.value2,tb2.value1,tb2.value2
    from tb1 left join tb2 on 
    tb1.id=tb2.id
      

  2.   

    select a.*,isnull(b.value1,'') as bvalue1,isnull(b.value2,'') as bvalue2 表1 a left join 表2 b on a.id=b.id
      

  3.   

    select a.*,b.* from a left join b on a.ID=b.ID
      

  4.   


    /*------------------------------------------------------------------
    --  Author : htl258(Tony)
    --  Date   : 2010-04-12 16:25:51
    --  Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) 
    Jul  9 2008 14:43:34 
    Copyright (c) 1988-2008 Microsoft Corporation
    Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)------------------------------------------------------------------*/
    --> 生成测试数据表:tbIF OBJECT_ID('[tb]') IS NOT NULL
    DROP TABLE [tb]
    GO
    CREATE TABLE [tb]([ID] INT,[value1] NVARCHAR(10),[value2] NVARCHAR(10))
    INSERT [tb]
    SELECT 1,'v11','v12' UNION ALL
    SELECT 2,'v21','v22' UNION ALL
    SELECT 3,'v31','v32'
    GO
    --SELECT * FROM [tb]--> 生成测试数据表:taIF OBJECT_ID('[ta]') IS NOT NULL
    DROP TABLE [ta]
    GO
    CREATE TABLE [ta]([ID] INT,[value1] NVARCHAR(10),[value2] NVARCHAR(10))
    INSERT [ta]
    SELECT 2,'v211','v222'
    GO
    --SELECT * FROM [ta]-->SQL查询如下:
    select A.*,b.value1,b.value2
    from tb a
    left join ta b
    on a.ID=b.ID
    /*
    ID          value1     value2     value1     value2
    ----------- ---------- ---------- ---------- ----------
    1           v11        v12        NULL       NULL
    2           v21        v22        v211       v222
    3           v31        v32        NULL       NULL(3 行受影响)
    */
      

  5.   

    select m.* , isnull(n.value1,'') value1 , isnull(n.value2,'') value2 from
    (
    通过复杂麻烦的查询以后
    ID value1 value2
    1 v11 v12
    2 v21 v22
    3 v31 v32
    ) m
    left join
    (
    再通过另外一个查询得到
    ID value1 value2
    2 v211 v222
    ) n
    on m.id = n.id --on m.id = n.id and m.value1 = n.value1
      

  6.   


    select 
        a.ID, a.value1, a.value2, [value1] = isnull(b.value1,''), [value2] = isnull(b.value2,'')
    from
    (
    一个复杂麻烦的查询
    ) a
    left join
    (
    通过另外一个查询
    ) b
    on a.ID = b.ID