我继承了一个奇怪的编程数据库,并且遇到了复杂查询的问题。对我来说最不重要。
在一个表格中,我有四个字段:
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
,因为所有这些东西都在同一张桌子里。
答案 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