2016-08-11 41 views
0

這是我likes表中,喜歡的postImagespages使用他們的ID是那麼存儲基本上我想選擇查詢通知每當用戶會喜歡pagespostImages那麼他們應該是通知SESSION用戶如何選擇數據從單柱

例 - 用戶ID(7)就喜歡PAGE_ID(7),用戶ID (1)就喜歡PAGE_ID(5)

和我不想那些0值是顯示在該列表中

likeID userID post_ID  page_ID 
     1  1  0   5 
     2  1  0   7 
     3  7  0   7 
     4  7  1   0 
     5  2  1   0 
     6  2  9   0 
     7  2  10   0 
     8  2  6   0 
     9  2  7   0 
     10 2  0   7 
     11 2  0   6 
     12 2  0   5 
     13 1  19   0 
+0

請及時更換標籤,這不是一個PHP的問題是SQL 。最好你會指定風味r.g. MySQL的。我個人還發現描述不明確 – Barry

+0

也許你可以擴展你想要的結果並告訴我們你想要什麼記錄。因爲如果你想當他們喜歡一個帖子或當他們喜歡一個頁面,那麼所有記錄仍然會顯示爲當page_id不爲空post_id = 0,反之亦然 – Matt

+0

請參閱我想要的是 當用戶喜歡頁面時,他們應該爲此會話用戶通知此用戶有此頁面 示例如果用戶1喜歡pageID 3,那麼他們應該是用戶1擁有的通知,如pageId 3 –

回答

0

對於網頁:

SELECT likeID, userID, page_ID 
FROM likes 
WHERE NOT page_ID = 0 

職位:

SELECT likeID, userID, post_ID 
FROM likes 
WHERE NOT post_ID = 0 

對於組合的清單:

SELECT likeID, userID, page_ID, null as post_ID 
FROM likes 
WHERE NOT page_ID = 0 
UNION ALL 
SELECT likeID, userID, null as page_id, post_ID 
FROM likes 
WHERE NOT post_ID = 0 
+0

如果正確構造where語句,那麼union all是絕對不需要的,而不是使空值爲0的查詢仍將返回表中的所有記錄。無可否認,這是OP似乎表明他們想要的東西..但是有幾個案例陳述與正確的地方,你有你的答案...... – Matt

+0

所以我應該如何使用,如果它返回所有的值?如果我得到頁面查詢,那麼它仍然適用 –