繁体   English   中英

结合使用MySQL选择查询和子查询

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM