表A
id    aa_id   bb_id   cc_id
1      1        3      5
2      1        1      4
3      2        4      1
表B
id   name          url                 type
1    163   http://www.163.com           1
2    sohu  http://www.sohu.com          1
3    sina  http://sina.com.cn           2
4    tom   http://tom.com               3
5    china http://china.com             4
表A的aa_id   bb_id   cc_id 存的都是表B中的id想要的结果是查询表A where id=1
出来的结果是
id  aa_id  name         url        bb_id  name    url               cc_id  name     url 
1     1    163  http://www.163.com   3    sina    http://sina.com.cn   5   china    http://china.com

解决方案 »

  1.   

    -----------------------------创建视图---------------------------------
    SELECT dbo.A.id, dbo.B.id AS Expr1, dbo.B.name, dbo.B.url, B_1.id AS Expr2, 
          B_1.name AS Expr3, B_1.url AS Expr4, B_2.id AS Expr5, B_2.name AS Expr6, 
          B_2.url AS Expr7
    FROM dbo.A INNER JOIN
          dbo.B ON dbo.A.aa_id = dbo.B.id INNER JOIN
          dbo.B B_1 ON dbo.A.bb_id = B_1.id INNER JOIN
          dbo.B B_2 ON dbo.A.cc_id = B_2.id
    ---------------------------------------------------------------------创建存储过程
    --------------------------创建存储过程-------------------------------
    CREATE PROCEDURE Pquary 
    @id char(10)
    AS
    select * from VIEW1 where id= @id
    GO
    ---------------------------------------------------------------------然后调用这个存储过程就可以了
      

  2.   

    select a.id,b.*,c.*,d.* from 表A a
    left join 表B b on a.aa_id=b.id
    left join 表B c on a.bb_id=c.id
    left join 表B d on a.cc_id=d.id 
    where a.id=1
      

  3.   

    create table tblA(id int,aa_id int,bb_id int,cc_id int)
     insert into tblA select 1,1,3,5
            union all select 2,1,1,4create table tblB(id int,name nvarchar(20),url nvarchar(50),type int)
     insert into tblB select 1,'163','http://www.163.com',1
            union all select 2,'sohu','http://www.sohu.com',1
            union all select 3,'sina','http://www.sina.com',2
            union all select 5,'china','http://www.china.com',4
    select (select id from tblB where id=tblA.aa_id),
    (select name from tblB where id=tblA.aa_id),
    (select url from tblB where id=tblA.aa_id), 
    (select id from tblB where id=tblA.bb_id),
    (select name from tblB where id=tblA.bb_id),
    (select url from tblB where id=tblA.bb_id),
    (select id from tblB where id=tblA.cc_id),
    (select name from tblB where id=tblA.cc_id),
    (select url from tblB where id=tblA.cc_id)
    from tblA where id=1drop table tblA
    drop table tblB
      

  4.   

    itblog(i like i do) ( ) 信誉:100  2006-04-27 15:27:00  得分: 0  
     
    select a.id,b.*,c.*,d.* from 表A a
    left join 表B b on a.aa_id=b.id
    left join 表B c on a.bb_id=c.id
    left join 表B d on a.cc_id=d.id 
    where a.id=1还是这个好,高