2011-10-08 26 views
0

我必須刪除數據並計算facebbok通知。有3個表格,我需要刪除數據 第一個公司表,我刪除公司ID。 第二表是mark_question其中i標記問題爲已讀/未讀,最愛/ unfav,通知狀態 第三是論壇主題的問題,其中有關問題的數據問想在mysql中做一個複雜的查詢嗎?

1日查詢的查詢其中的結果中刪除我得到一組數值。

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 < - 在這裏,我需要添加編號的我從第一個查詢中獲得。可能只有一個id或多個id。我如何整合這種友好的幫助,在此先感謝

回答

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) 
+0

感謝'@ yoprogramo' – gklaxman

0

如果您不希望第一個查詢的ID從第二個查詢中刪除爲什麼不添加第一個WHERE的否定部分作爲AND第二個查詢?

AND (user_id !=".$this->session->userdata('user_id')." or vs_ques_status!=0) 

我不完全理解你的問題,但是,在任何情況下,你可以創建一個子查詢,而不是在應用(SELECT ...)在WHERE ...

+0

的ID我從查詢中得到:'select * from gl_mark_ques where user_id =「。$ this-> session-> userdata('user_id')。」和 vs_ques_status = 0'不應出現在下一個查詢'where new_ques_id!= id(來自上一個查詢)' – gklaxman

+1

嘗試:'SELECT uc。*,count(mq.vs_ques_status) from gl_user_comp as uc inner join gl_mark_ques作爲mq 在uc.user_id = mq.user_id和 uc.comp_id ='$ comp_id' 其中mq.user_id <>「。$ this-> session-> userdata('user_id')。」和 mq.new_ques_id!= 2和 mq.vs_ques_status = 1 and mq.new_ques_id NOT IN(從gl_mark_ques中選擇ques_id,其中user_id =「。$ this-> session-> userdata('user_id')。」和vs_ques_status = 0)' – yoprogramo

+0

夥計你救了我的屁股!!!!!非常感謝@yoprogramo – gklaxman