现在我想得到一个评论列表,我有两个名为TB_COMMENT,TB_USER的表; TB_COMMENT表有三个字段:WORK_ID,USER_ID,ATED_USER_ID; TB_USER表有三个字段:USER_ID,NICKNAME。 现在前端给了我一个workId,我需要返回列表包括: userId,nickname,atedUserId,atedNickname。(和atedUserId,atedNickname可能不存在)。 我只写这个sql语句:
SELECT DISTINCT TB_USER.USER_ID, TB_USER.NICKNAME, TB_COMMENT.ATED_USER_ID
FROM TB_USER, TB_COMMENT
WHERE TB_COMMENT.WORK_ID = #{workId} AND TB_COMMENT.USER_ID = TB_USER.USER_ID`
我不知道如何获取atedNickname。希望有人可以帮助我,谢谢。
答案 0 :(得分:0)
您需要在TB_USER
外键
ATED_USER_ID
次加入
SELECT DISTINCT ua.USER_ID, ua.NICKNAME, ub.USER_ID, ub.NICKNAME
FROM TB_USER ua INNER JOIN TB_COMMENT c ON ua.USER_ID = c.USER_ID
LEFT JOIN TB_USER ub ON ub.USER_ID = c.ATED_USER_ID
WHERE c.WORK_ID = #{workId}