2017-06-21 28 views
-2

我在文章發佈應用程序的工作,以顯示行..需要一個MySQL查詢按我的願望

用戶可以張貼article..the文章將與職位的唯一ID被插入的行表..

該職位應該只會出現一次其他users..and它不會顯示給誰已經張貼了用戶..

的看帖都存儲在單獨的表包含交ID和查看的用戶號碼。

我使用查詢..

SELECT Posts.NAME, Posts.TITLE, Posts.NUMBER  
FROM Posts LEFT JOIN Viewed 
ON Posts.ID = Viewed.POSTID AND Posts.NUMBER != Viewed.NUMBER 
WHERE Viewed.POSTID IS NULL AND Posts.NUMBER != '".$number"' 

此查詢僅顯示第一個查看器的帖子...不適用於其他人!

請幫助!

回答

0

您必須使用EXISTS關鍵字來查看給定的帖子和用戶是否有查看條目(或不是)。它應該看起來像這樣:

SELECT 
    Posts.NAME, 
    Posts.TITLE, 
    Posts.NUMBER 
FROM 
    Posts 
WHERE NOT EXISTS (
    SELECT 
     1 
    FROM 
     Viewed 
    WHERE 
     Viewed.USERID = ? AND 
     Viewed.POSTID = Posts.ID 
) 
+0

謝謝,但爲什麼你選擇了1不存在? –