复杂的mysql查询(从结果中获取结果)

时间:2012-06-16 02:12:24

标签: mysql

我继承了一个奇怪的编程数据库,并且遇到了复杂查询的问题。对我来说最不重要。

在一个表格中,我有四个字段:

    app_id - question - answer - user
    as4d1a - date_com -  ***   - 421 
    as4d1a - status   -   0    - 421 
    as4d1a - date_com -  ***   - 428 
    as4d1a - status   -   0    - 428 
    as4d1a - date_com -  ***   - 474 
    as4d1a - date_com -  ***   - 511 

从这一个表中我需要运行下面的查询,该查询将返回许多唯一用户:

    SELECT user 
    WHERE  question = 'date_completed'

..对于这些用户中的每一个,我需要运行类似下面的查询

    SELECT * 
    WHERE  question = status 
    AND    answer = 0

但是以这种方式我可以使用mysql_num_rows并且可能稍后对每个值做一些事情。但我主要需要一个count

有人可以帮忙吗?我一直在寻找,但甚至不知道我是否需要JOIN,因为所有这些东西都在同一张桌子里。

1 个答案:

答案 0 :(得分:0)

SELECT
    a.*
FROM
    table a
INNER JOIN
    table b ON a.user = b.user AND b.question = 'date_completed'
WHERE
    a.question = 'status'
    AND a.answer = 0