表t1字段ID  name   url     ID为自动增长
      1    a     u1
      2    b     u2
      3    c     u3
      4    d     u4
表t2字段TID    text          TID为与表t1中的ID相对应
         1      t1.1
        1      t1.2
        2      t2.1
        2      t2.2
        3      t3.1
        3      t3.2
        4      t4.1
现在我想查出的结果如下
ID  name  url  TID  text
1    a     u1   1    t1.1
2    b     u2   2    t2.1
3    c     u3   3    t3.1
4    d     u4   4    t4.1就是t2中重复的TID只查一条,该如何写SQL语句?

解决方案 »

  1.   

    select id,name,url,tid,max(text) text from t1,t2 where t1.id=t2.tid group by id,name,url,tid
      

  2.   


    这个可行
    不过max函数用在字符上不大好,你只要一条,要哪一条那,随便一条?
      

  3.   


    select T1.ID,T1.name,T1.URL,A.TID,A.Text
    from T1,
    (select *,Row_number()over(partition by TID order by TID) cnt
    from T2)A
    where T1.ID=A.TID
    and A.cnt=1
      

  4.   

    select t1.*,(select top 1 TID from t2 where tid=t1.id)as TID,
    (select top 1 text from t2 where tid=t1.id)as text from t1
      

  5.   

    select t1.*,b.text from t1,(select tid,max(text) from t2 group by tid) b
    where t1.id=b.tid;
      

  6.   

    select T1.ID,T1.name,T1.URL,A.TID,A.Text 
    from T1, 
    (select *,Row_number()over(partition by TID order by TID) cnt 
    from T2)A 
    where T1.ID=A.TID 
    and A.cnt=1