CREATE TABLE aaa (
        A_NO                          varchar(20)                  NOT NULL,
        B_NO                          varchar(30)                 NOT NULL,
        )
GO
CREATE TABLE bbb (
        A_NO                          varchar(20)                  NOT NULL,
        B_NO                          varchar(30)                 NOT NULL,
        type                            varchar(10)                NOT NULL,
        )
GOinsert into aaa (A_NO,B_NO) VALUES('OS001','PS01')
insert into bbb (A_NO,B_NO,type) VALUES('OS001','PS01','a')
insert into bbb (A_NO,B_NO,type) VALUES('OS001','PS01','a')
-------------
select aaa.A_NO,aaa.B_NO,bbb.type from aaa,bbb
where aaa.A_NO = bbb.A_NO and
      aaa.B_NO = bbb.B_NO但结果返回的是2行,,,我其实只想要1行(即aaa有多少行,就返回多少行),,,只是为了取到bbb的type字段...请问怎么写?

解决方案 »

  1.   

    CREATE   TABLE   aaa   ( 
                    A_NO                                                     varchar(20)                                     NOT   NULL, 
                    B_NO                                                     varchar(30)                                   NOT   NULL, 
                    ) 
    GO 
    CREATE   TABLE   bbb   ( 
                    A_NO                                                     varchar(20)                                     NOT   NULL, 
                    B_NO                                                     varchar(30)                                   NOT   NULL, 
                    type                                                         varchar(10)                                 NOT   NULL, 
                    ) 
    GO insert   into   aaa   (A_NO,B_NO)   VALUES( 'OS001 ', 'PS01 ') 
    insert   into   bbb   (A_NO,B_NO,type)   VALUES( 'OS001 ', 'PS01 ', 'a ') 
    insert   into   bbb   (A_NO,B_NO,type)   VALUES( 'OS001 ', 'PS01 ', 'a ') 
    ------------- 
    select   distinct aaa.A_NO,aaa.B_NO,bbb.type   from   aaa,bbb 
    where   aaa.A_NO   =   bbb.A_NO   and 
                aaa.B_NO   =   bbb.B_NO 
    /*
    A_NO                 B_NO                           type       
    -------------------- ------------------------------ ---------- 
    OS001                PS01                           a (所影响的行数为 1 行)
    */drop table aaa,bbb
      

  2.   

    你的aaa表aaa.A_NO内容在表bbb表bbb.A_NO两处有. 所以会显示出.  想要一行top 1 就行了. select top 1 * from aaa,bbb
    where aaa.A_NO=bbb.A_NO and  aaa.B_NO=bbb.B_NO 
      

  3.   

    insert into aaa (A_NO,B_NO) VALUES('OS001','PS01')
    insert into aaa (A_NO,B_NO) VALUES('OS001','PS02')insert into bbb (A_NO,B_NO,type) VALUES('OS001','PS01','a')
    insert into bbb (A_NO,B_NO,type) VALUES('OS001','PS01','a')select * from aaaselect   distinct aaa.A_NO,aaa.B_NO,bbb.type   from   aaa,bbb 
    where   aaa.A_NO   =   bbb.A_NO   and 
                aaa.B_NO   =   bbb.B_NO潇洒龟,你的方法不行啊...我在aaa里多加了1行.