ELSE語句我有表posts
和users
如何寫IF在MySQL
基本上我想查詢是否列privacy
的posts
表0
這意味着職位是public
,我想展示給大家。但如果privacy
列1,2,3,4
這意味着這個職位只對用戶ID 1, 2, 3 and 4
ELSE語句我有表posts
和users
如何寫IF在MySQL
基本上我想查詢是否列privacy
的posts
表0
這意味着職位是public
,我想展示給大家。但如果privacy
列1,2,3,4
這意味着這個職位只對用戶ID 1, 2, 3 and 4
這不是一個有條件的問題,這是一個SQL連接到表的關聯問題。
您需要創建一個將帖子與用戶關聯的連接表。然後,您可以使用聯合來根據他們對用戶的分配來選擇帖子。
的SQL可能是這個樣子
要選擇分配給用戶ID的帖子= 4
SELECT * FROM `posts`
LEFT JOIN `posts_users` ON (`posts`.`id` = `posts_users`.`post_id`)
WHERE `posts_users`.`user_id` = 4;
你也做了假設,如果一個職位沒有分配給它的用戶,那麼它的一個公共職位。這需要檢查NULL關聯。
SELECT * FROM `posts`
LEFT JOIN `posts_users` ON (`posts`.`id` = `posts_users`.`post_id`)
WHERE `posts_users`.`user_id` IS NULL;
如果你想查找公共和相關的帖子,那麼你使用邏輯OR來匹配這兩個規則。
SELECT * FROM `posts`
LEFT JOIN `posts_users` ON (`posts`.`id` = `posts_users`.`post_id`)
WHERE `posts_users`.`user_id` = 4
OR `posts_users`.`user_id` IS NULL;
我想要查詢結果,個人在「隱私」列或「隱私」列中的個人帖子爲0(公開),因此此人可以看到它。 – user2765602
@ user2765602當然,請參閱我的編輯。 – cgTag
whats'posts_users'? – user2765602
你的查詢結果應該是什麼? –
你想說,你的隱私專欄中有逗號分隔的值嗎?這幾乎不會是一個好主意。 – VMai
你可以發佈sqlfiddle與你的數據庫架構和一些示例數據嗎? – DevelopmentIsMyPassion