sql - 仅当两个用户都是 sql server 的朋友时如何获取数据
问题描述
这是我的数据库结构。用户表 -user_id -fname -lname
配置文件表 -profile_user_id -profile_id -profile_id
friend_request table -id -from_id -to_id -status 我的查询是 SELECT fname,lname,profile FROM user LEFT JOIN profile ON user.user_id = profile.profile_id WHERE(SELECT status FROM friend_request WHERE status = 'friend')
解决方案
试试这样:
SELECT fname,lname,profile FROM user
INNER JOIN profile ON user.user_id = profile.profile_id
INNER join user 'friend' on friend.user_id = = profile.profile_id
INNER JOIN friend_request ON friend_request.from_id = user.user_id and friend_request.to_id = friend.user_id
WHERE status = 'friend'
推荐阅读
- python - 如果父属性的所有子属性都为真,则将父属性派生为真
- c# - Asp.Net Framework MVC 5 - 上传文件时如何防止整个视图被重新加载
- concurrency - 如何配置 Jmeter 进行 1 小时耐力测试?
- go - 如何包装错误并使其可检查?
- c++ - 使用 delete [] 在对象数组上调用析构函数时堆损坏
- python - 在我的 Django 应用程序的 Jquery DataTable 中搜索和排序,PostgreSQL DB 不起作用
- angular - 如何修复来自 Nebular Auth 的构建 sass 文件
- javascript - Chrome 扩展客户端显示成功但服务器生成 500 错误
- python - 编写杂货问题并得到错误的输出
- typeerror - TypeError: sample_chain() got an unexpected keyword argument 'seed' - Tensorflow 2.0