select distinct(b.uname) from news a join user b on a.ssid=b.uid不知道uid是不是ssid

解决方案 »

  1.   


    SELECT
    U.uname
    FROM [user] U,
    (
    SELECT
    ssid, nid = MAX(nid)
    FROM news
    GROUP BY ssid
    )N
    WHERE U.uid = N.ssid
    ORDER BY N.nid DESC
      

  2.   

    IF OBJECT_ID('USER')IS NOT NULL DROP TABLE [USER]
    GO
    CREATE TABLE [USER](uid INT,    uname VARCHAR(10)) 
    INSERT [USER] SELECT 1 ,       'a' 
    INSERT [USER] SELECT 2 ,       'b' 
    INSERT [USER] SELECT 3 ,       'c' 
    INSERT [USER] SELECT 4,        'd' 
    IF OBJECT_ID('news')IS NOT NULL DROP TABLE news
    GO
    CREATE TABLE news(nid INT,  ntitle NVARCHAR(20), ssid INT) 
    INSERT NEWS SELECT 1,        N'第一篇文章',            1 
    INSERT NEWS SELECT 2,        N'第二篇文章' ,           3 
    INSERT NEWS SELECT 3,        N'第三篇文章' ,           1 
    INSERT NEWS SELECT 4,        N'第四篇文章' ,           3 
    INSERT NEWS SELECT 5,        N'第五篇文章' ,           2 
    INSERT NEWS SELECT 6,        N'第六篇文章' ,           2 
    INSERT NEWS SELECT 7,        N'第七篇文章' ,           3 
    SELECT DISTINCT  UNAME FROM [USER]  M,(SELECT SSID FROM NEWS N WHERE SSID IN(SELECT TOP 1 SSID FROM NEWS WHERE SSID=N.SSID ORDER BY NID DESC)) N
    WHERE M.UID=N.SSID
    /*UNAME      
    ---------- 
    a
    b
    c
    */
      

  3.   

    第一次与技术第一的人会面,就把问题解决了!
    Thanks a lot!