>我有两个表通过一个id链接在一起,一个是"submit_moderate",一个是"submit_post"
"submit_moderate"表如下所示
id moderated_by post
1 James 60
2 Alice 32
3 Tim 18
4 Michael 60
我使用一个简单的查询根据"submit_moderate"表从"submit_post"表中获取数据。
$get_posts = mysql_query("SELECT * FROM submit_moderate WHERE moderated_by!='$user'");
$user
是登录者。
现在我的问题是当我运行此查询时,用户"迈克尔"将检索这个
1 James 60
2 Alice 32
3 Tim 18
现在从技术上讲这是正确的,但我不想检索第一行,因为 60 与迈克尔和詹姆斯有关。基本上我不想检索该值"60"。
我知道为什么会发生这种情况,但是我不知道该怎么做。我很感激我能得到的任何提示或建议。
SELECT DISTINCT post
FROM submit_moderate
WHERE post NOT IN (SELECT post
FROM submit_moderate
WHERE moderated_by = 'Michael')
PS:不确定,但在某些情况下,可能值得将嵌套查询的选择部分更改为SELECT DISTINCT post
假设$user='迈克尔';
如果你真的不想要第一行用户,就像你说的那样,詹姆斯在帖子中与迈克尔匹配然后去
$post = mysql_query_first("从moderated_by='$user'submit_moderate中选择帖子");
$get_posts = mysql_query("从submit_moderate中选择 * moderated_by!='$user' 和 post!='$post');
或
$get_posts = mysql_query("从submit_moderate中选择 * WHERE POST NOT IN (从submit_moderate中选择帖子,其中 moderated_by = 'Michael') 和 moderated_by != 'Michael'");