我必须删除数据并计算facebbok之类的通知。有3个表我需要删除数据 第一张公司表,我删除公司ID。 第二个表是mark_question,其中我将问题标记为已读/未读,fav / unfav,通知状态 第三是论坛主题问题,其中涉及问题的数据
在查询结果中删除第一个查询,其中我得到一组值。
select *
from gl_mark_ques
where user_id =".$this->session->userdata('user_id')." and
vs_ques_status=0
在此之后,我得到一组id,这些id不应出现在我执行的下一个查询中
SELECT uc.*,count(mq.vs_ques_status)
from gl_user_comp as uc
inner join gl_mark_ques as mq
on uc.user_id=mq.user_id and
uc.comp_id='$comp_id'
where mq.user_id<>".$this->session->userdata('user_id')." and
mq.new_ques_id!=2 and
mq.vs_ques_status=1
mq.new_ques_id = 2&lt; - 这里我需要添加我从第一次查询得到的id。可能只有一个id或多个id。我如何整合这种友好的帮助,提前谢谢
答案 0 :(得分:0)
如果您不希望从第二个查询中删除第一个查询中的ID,为什么不在第二个查询中将第一个WHERE的否定部分添加为AND?
AND (user_id !=".$this->session->userdata('user_id')." or vs_ques_status!=0)
我不完全理解你的问题,但是,无论如何你可以创建一个子查询并在WHERE中应用NOT IN(SELECT ...)...
答案 1 :(得分:0)
SELECT uc.*,count(mq.vs_ques_status) as cnt_status_advhub
from gl_user_comp as uc inner join gl_mark_ques as mq
on uc.user_id=mq.user_id and uc.comp_id='$comp_id'
where mq.user_id<>".$this->session->userdata('user_id')." and
mq.vs_ques_status=1 and mq.new_ques_id NOT IN
(select new_ques_id from gl_mark_ques where user_id
=".$this->session->userdata('user_id')." and vs_ques_status=0)