0

我继承了一个奇怪的编程数据库,并且在处理复杂查询时遇到了麻烦。至少对我来说。

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

    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,因为所有这些东西都在同一张桌子上。

4

1 回答 1

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
于 2012-06-16T02:19:58.473 回答