高分求助!PHP,联合查询的问题,查询表2无表1有的数据?

表一user、用户信息,user_name为名字,user_class为班级表二vote、投票信息,to_id是受评人ID,from_ID投票人ID,from_name投... 表一user、用户信息,user_name为名字,user_class为班级

表二vote、投票信息,to_id是受评人ID,from_ID投票人ID,from_name投票人名字。

我做一个互动投票系统,同班级的用户才能互投票。我想实现一个功能:

用户aaaa登录后,想要查询自己 还没有 投过票的有哪些同班用户信息,并显示这些用户的信息。按之前的方法不行。示例的结果应该是:
展开
 我来答
xiii130
2013-09-04 · 知道合伙人软件行家
xiii130
知道合伙人软件行家
采纳数:817 获赞数:2867
爱好编程,在工作中积累了比较丰富的经验。愿与大家共同进步。

向TA提问 私信TA
展开全部

//首先需要知道自己的id号,且认为存在session中的,并且已经传了过来

$myID = $_SESSION['id'];

$sql = "SELECT * FROM user WHERE user_class = (SELECT user_class FROM user WHERE user_id='".$myID."') AND user_id NOT IN (SELECT to_id FROM vote WHERE from_id = '".$myID."')";

SELECT user_class FROM user WHERE user_id='".$myID."' 选出我所在的班级

SELECT to_id FROM vote WHERE from_id = '".$myID."' 选出我投过的人的id

最终是选出我所在的班级,且不在我投过的id范围内的用户的信息

追问
高手果然厉害,一次成功!能够查询到自己未投票的同班同学,不过也把自己给显示出来,该如何改进?
追答

这个也比较简单,但是输出的时候要判断一下

$sql = "SELECT * FROM user WHERE (user_class = (SELECT user_class FROM user WHERE user_id='".$myID."') AND user_id NOT IN (SELECT to_id FROM vote WHERE from_id = '".$myID."')) OR (user_id = '".$myID."')";

//输出的时候要判断是不是自己
while($row = mysql_fetch_array($result)){
    if($row['user_id'] == $myID){
        echo '这是我自己的信息';
    }
}
数位汇聚
2023-08-28 广告
1、数位观察新增一个数据搜索平台:数位观察,不用费力的去各个平台找数据,通过这个平台搜索或勾选需要的标签就行,就能找到各个维度的数据。提供12大类、50多万个数据和数据报告(基本上覆盖了市面上所有细分行业)。在网站首页就有全面又详细的数据分... 点击进入详情页
本回答由数位汇聚提供
百度网友419f275
2013-09-04 · TA获得超过288个赞
知道答主
回答量:44
采纳率:0%
帮助的人:20.8万
展开全部
select a.*,b.to_id from table1 a,table2 b where a.user_id != b.to_id

试试这个,table1 是你的第一个表的表名,table2是第二个表的表名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jACKy劉
2013-09-04 · TA获得超过325个赞
知道小有建树答主
回答量:240
采纳率:100%
帮助的人:245万
展开全部
select user_id, user_name from user where user_id not in (select from_id from vote group by from_id);


这是SQL. 你试验下.

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQ号739742415
2013-09-04 · 超过20用户采纳过TA的回答
知道答主
回答量:198
采纳率:0%
帮助的人:79.7万
展开全部
not in就是专门解决这个问题的
追问
本人菜鸟,愿闻其详!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式