[英]Using a MySQL select query with a sub query
我试图从其中user_id不等于已登录用户的uder_id且user_id不在子查询中的表中选择数据行。 由于某种原因,我无法使其正常工作。 我该怎么办?
我的代码:
SELECT *
FROM table_name
WHERE user_id != '".$_SESSION['id']."'
AND user_id NOT IN(
SELECT * FROM another_table_name where user1= '".$user_id."' AND status= 1)
ORDER BY RAND()
LIMIT 5
您只需要从another_table_name
选择user_id
。 没有看到您的表结构,我无法进一步帮助您。
您的逻辑是正确的。 我们不知道查询中的参数化值。 我的猜测是那些不等于您期望的值。
在您的子查询中,您只想选择user_ids,您的子查询使用“ select *”
SELECT * FROM table_name WHERE user_id != '".{$_SESSION['id']}."' AND user_id NOT IN(SELECT
user_id FROM another_table_name where user1= '".$user_id."' AND status= 1) ORDER BY RAND() LIMIT 5
您只需要从子查询中选择user_id
。 也许像:
SELECT *
FROM table_name
WHERE user_id != '".{$_SESSION['id']}."'
AND user_id NOT IN(SELECT user_id
FROM another_table_name
WHERE user1= '".$user_id."'
AND status= 1)
ORDER BY RAND()
LIMIT 5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.