带有not not子句的SQL select查询

垃圾

我有这样的表结构

CREATE TABLE `fb_requests`
(                                              
     `id` int(60) NOT NULL AUTO_INCREMENT,
     `user_id` int(60) DEFAULT NULL,
     `fb_user_id` varchar(255) DEFAULT NULL,
     `request_id` varchar(255) DEFAULT NULL,
     `game_selected` int(60) DEFAULT NULL,
     `accept_status` int(60) DEFAULT NULL COMMENT '0 = pending 1 = accept', 2 = reject
     `created_date` datetime DEFAULT NULL,
     `modified_date` datetime DEFAULT NULL,
     PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=187 DEFAULT CHARSET=latin1         

有一个accept_status包含0,1,2状态

为了获得所需的数据,我正在编写三个查询,第一个查询获取接受状态= 1行

select 
    fb_user_id, accept_status 
from  
    fb_requests 
where
    user_id = 17 
    and accept_status = 1 
    and game_selected = 2 
group by 
    fb_user_id;

第二个查询获取接受状态= 2

select 
    fb_user_id, accept_status 
from  
    fb_requests 
where
    user_id = 17 
    and accept_status = 2 
    and game_selected = 2 
group by 
    fb_user_id;

在第三个查询中,我需要获取早期查询中没有的行,因此我使用了一个not in子句。

select 
    fb_user_id, accept_status 
from 
    fb_requests 
where
    user_id = 17 
    and accept_status = 0 
    and game_selected = 5 
    and fb_user_id not in (select fb_user_id 
                           from  fb_requests 
                           where user_id = 17
                             and accept_status = 2  
                             and game_selected = 5 
                             and fb_user_id not in (select fb_user_id 
                                                    from fb_requests 
                                                    where user_id = 17
                                                      and accept_status = 1
                                                      and game_selected = 5)
                          )  
group by 
       fb_user_id

但是在第三次查询的情况下,有些事情是不正确的,没有得到想要的结果。不确定这是将两个not in子句组合在一起的方式。我需要获得一个在这些查询之间没有重复的fb_user_id的数组。

我期待这种类型的查询首先

$query = select fb_user_id,accept_status from fb_requests where
                          user_id= 17 and accept_status=0 and game_selected=2 and
                          fb_user_id not in (select fb_user_id from  fb_requests where user_id= 17
                          and accept_status=1  and game_selected=2 )  group by fb_user_id

and then $query not in select fb_user_id from  fb_requests where user_id= 17
                          and accept_status=2  and game_selected=2

请帮助我找到解决方案。谢谢

范ric

试试这个:

select 
    fb_user_id, accept_status 
from 
    fb_requests 
where
    user_id = 17 
    and accept_status = 0 
    and game_selected = 5 
    and fb_user_id not in (select fb_user_id 
                           from fb_requests 
                           where user_id = 17
                             and (accept_status = 2 or accept_status = 1)  
                             and game_selected = 5)  
group by 
    fb_user_id, accept_status

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查询为带有NOT EXISTS子句的SELECT语句

来自分类Dev

带有AND逻辑的SQL IN子句

来自分类Dev

SQL:带有ORDER BY子句的SELECT TOP无法返回正确的结果

来自分类Dev

带有NOT IN子句的SQL DELETE查询不起作用

来自分类Dev

基于带有“ WITH”子句的SELECT的视图

来自分类Dev

如何在带有Rails的SQL查询的where子句中的值数组上生成LIKE?

来自分类Dev

SQL查询按数据分组,但带有order by子句

来自分类Dev

猫鼬查询带有通配符的子句

来自分类Dev

SQL-带有子查询的SELECT语句

来自分类Dev

在SQL查询中使用带有Union子句的group / order by

来自分类Dev

带有LINQ查询子查询的not in子句的SQL查询

来自分类Dev

带有条件的SELECT子句

来自分类Dev

在Oracle中的SQL查询中,带有HAVING子句的1和2是什么意思?

来自分类Dev

如何在SQL查询中添加带有嵌套的where子句?

来自分类Dev

SQL查询中带有总和的Where子句

来自分类Dev

SQL查询按日期降序并带有多个“ like”子句以非常特定的顺序获取结果

来自分类Dev

具有各种BETWEEN子句的SQL查询

来自分类Dev

R中带有IN子句的参数化SQL查询

来自分类Dev

带有case-SELECT的Teradata sql查询失败。3706

来自分类Dev

跨两个表和列的带有“IN”子句的 Sql 查询

来自分类Dev

带有变量的 INSERT SELECT SQL 查询

来自分类Dev

带有 WHERE 子句的抽象具体 SQL 查询

来自分类Dev

带有 where 子句的 select 语句

来自分类Dev

带有 Where/Having 子句的 SQL 查询案例

来自分类Dev

带有 WHERE 语句的 SQL SELECT 子句用于特定顺序

来自分类Dev

是否有可能只有带有子查询的“SELECT”子句没有“FROM”子句?

来自分类Dev

带有 SELECT AS 子查询的 Oracle SQL UNION

来自分类Dev

带有 IN 子句的区分大小写的搜索查询 - SQL Server

来自分类Dev

在 R 中读取 SQL 查询时使用带有日期的 Where 子句

Related 相关文章

  1. 1

    查询为带有NOT EXISTS子句的SELECT语句

  2. 2

    带有AND逻辑的SQL IN子句

  3. 3

    SQL:带有ORDER BY子句的SELECT TOP无法返回正确的结果

  4. 4

    带有NOT IN子句的SQL DELETE查询不起作用

  5. 5

    基于带有“ WITH”子句的SELECT的视图

  6. 6

    如何在带有Rails的SQL查询的where子句中的值数组上生成LIKE?

  7. 7

    SQL查询按数据分组,但带有order by子句

  8. 8

    猫鼬查询带有通配符的子句

  9. 9

    SQL-带有子查询的SELECT语句

  10. 10

    在SQL查询中使用带有Union子句的group / order by

  11. 11

    带有LINQ查询子查询的not in子句的SQL查询

  12. 12

    带有条件的SELECT子句

  13. 13

    在Oracle中的SQL查询中,带有HAVING子句的1和2是什么意思?

  14. 14

    如何在SQL查询中添加带有嵌套的where子句?

  15. 15

    SQL查询中带有总和的Where子句

  16. 16

    SQL查询按日期降序并带有多个“ like”子句以非常特定的顺序获取结果

  17. 17

    具有各种BETWEEN子句的SQL查询

  18. 18

    R中带有IN子句的参数化SQL查询

  19. 19

    带有case-SELECT的Teradata sql查询失败。3706

  20. 20

    跨两个表和列的带有“IN”子句的 Sql 查询

  21. 21

    带有变量的 INSERT SELECT SQL 查询

  22. 22

    带有 WHERE 子句的抽象具体 SQL 查询

  23. 23

    带有 where 子句的 select 语句

  24. 24

    带有 Where/Having 子句的 SQL 查询案例

  25. 25

    带有 WHERE 语句的 SQL SELECT 子句用于特定顺序

  26. 26

    是否有可能只有带有子查询的“SELECT”子句没有“FROM”子句?

  27. 27

    带有 SELECT AS 子查询的 Oracle SQL UNION

  28. 28

    带有 IN 子句的区分大小写的搜索查询 - SQL Server

  29. 29

    在 R 中读取 SQL 查询时使用带有日期的 Where 子句

热门标签

归档