有2张表, 一张是用户表,一张是回复表回复表
ID     USER    RES     TIME
回复id 用户id 回复内容 时间用户表
ID NICKNAME 现在提供回复表的ID '123456',需要返回  回复.RES 回复.TIME ,用户.ID 用户.NICKNAME下面是回复表的数据
belong time                user response
123456  2011-10-02 14:35:37     u1        rs1
123456  2011-10-02 14:35:37     u2        rs2
SELECT response,  `time` 
FROM  `comment` 
WHERE belong =  '123456'
) AS c, (SELECT user.nickname, user.id
FROM user, (SELECT user
FROM  `comment` 
WHERE belong =  '123456'
) AS p
WHERE user.id = p.user
) AS u我是这么写的 但是返回的结果是
response time        id nickname
rs1 2011-10-02 14:35:37 u1 n1
rs1 2011-10-02 14:35:37 u2 n2
rs2 2011-10-02 14:35:24 u1 n1
rs2 2011-10-02 14:35:24 u2 n2

解决方案 »

  1.   

    刚才sql发错了SELECT c.response,c.time,u.id,u.nickname FROM  
    (SELECT response, `time`  FROM `comment` WHERE belong='CXVHYJTSDF') AS c,
    (SELECT user.nickname,user.id FROM user,(SELECT user FROM `comment` WHERE belong='CXVHYJTSDF') AS p WHERE user.id = p.user) AS u 
    ORDER BY c.time DESC
      

  2.   


    楼主提供的回复表的结构怎么和数据不相对应,不太明白你需要什么结果:
    --现在提供回复表的ID '123456',需要返回 回复.RES 回复.TIME ,用户.ID 用户.NICKNAME这个就两张表的关联按理说应该很简单,楼主需要什么:
    SELECT A.*,B.NICKNAME FROM 回复表 A,用户表 B
    WHERE A.belong='123456' AND A.user=B.ID--回复表内用户ID与用户表ID关联不就好了吗?还是有其他条件?
      

  3.   

    select m.* , n.* from 回复表 m, 用户表 n where m.用户id = n.id and m.哪个ID?(是回复id还是用户id,自己更改) ='123456'