一个简单的sql查询问题

zheng_dian 2012-04-17 10:10:23
类似微博

有两张表,user表和userAttention表(用户互相关注的表)

user表结构:

userId userName

1 小明
2 小张
3 小李

userAttention表结构:

uaId fromUser toUser

1 2 3
2 1 3
3 3 2

fromUser和toUser存的都是用户的id,现在小李登录(用户3)要查询关注自己的用户的姓名,语句如下:

select u.userName from user u where u.userId in(select ua.fromUser from userAttention ua where ua.toUser=3)

查询出来后是:userName

小明
小张

现在的问题是,想加入一个相互关注的字段,就是判断小李和关注自己的用户是否是互相关注的关系,加一个标记位后查询结果如下(0代表没有关注他,1代表也关注了他):

userName eachAttention
小明 0
小张 1

sql语句该如何写呢?
...全文
107 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zheng_dian 2012-04-17
  • 打赏
  • 举报
回复
嗯 这两个都可以,效率都一样吗[Quote=引用 5 楼 的回复:]

SQL code
SELECT U.USERNAME,
NVL((SELECT 1
FROM USERATTENTION UA
WHERE UA.TOUSER = U.USERID
AND UA.FROMUSER = 3),
0) AS EACHATTENTION
……
[/Quote]
yinan9 2012-04-17
  • 打赏
  • 举报
回复
可以给分了不?:-P
zheng_dian 2012-04-17
  • 打赏
  • 举报
回复
嗯,哈哈,成功了,就是这样,太感谢您了!![Quote=引用 6 楼 的回复:]

表连接的写法稍微清晰一点
SQL code
SELECT U.USERNAME,
NVL ((SELECT 1
FROM USERATTENTION UA1
WHERE UA1.TOUSER = U.USERID
AND UA1.FRO……
[/Quote]
yinan9 2012-04-17
  • 打赏
  • 举报
回复
表连接的写法稍微清晰一点
      SELECT U.USERNAME,
NVL ((SELECT 1
FROM USERATTENTION UA1
WHERE UA1.TOUSER = U.USERID
AND UA1.FROMUSER = UA.TOUSER),
0) AS ASEACHATTENTION
FROM T_USER U, USERATTENTION UA
WHERE UA.FROMUSER = U.USERID
AND UA.TOUSER = 3;
yinan9 2012-04-17
  • 打赏
  • 举报
回复
 SELECT U.USERNAME,
NVL((SELECT 1
FROM USERATTENTION UA
WHERE UA.TOUSER = U.USERID
AND UA.FROMUSER = 3),
0) AS EACHATTENTION
FROM T_USER U
WHERE U.USERID IN
(SELECT UA.FROMUSER FROM USERATTENTION UA WHERE UA.TOUSER = 3);
zheng_dian 2012-04-17
  • 打赏
  • 举报
回复
我想在查询结果中加入一个是否互相关注的字段,或者说是标记,您这儿似乎给的不是很全呢[Quote=引用 2 楼 的回复:]

SQL code
select distinct username from usert u,useraction a where userid in (select touser from useraction) and userid
[/Quote]
zheng_dian 2012-04-17
  • 打赏
  • 举报
回复
能耽误您两分钟具体写一下吗?我还是不太会,谢谢了。[Quote=引用 1 楼 的回复:]

decode函数 就好了
[/Quote]
Phoenix_99 2012-04-17
  • 打赏
  • 举报
回复
select distinct username from usert u,useraction a where userid in (select touser from useraction) and userid
yinan9 2012-04-17
  • 打赏
  • 举报
回复
decode函数 就好了

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧