我有一张包含以下4列的表格:
Id Name Activity Date
每个人进行任何活动时,一个名称可以有多个条目,它将插入名称,活动和特定活动日期。
我想查询一下:
获取所有已完成所有日期活动的姓名
activity = run and date = 12/03/2015
activity = dance and date = 10/01/2015
activity = read and date = 26/05/2015
请注意,活动组合在哪里可以从最小1到最大10-12
我该如何有效地做到这一点?还有更好的方法在mysql raw上做这件事吗?
答案 0 :(得分:0)
您有三个条件,因此如果符合条件的行数相同,则获取名称。
$
或者在查询中检查它(if语句)
SELECT name, count(*) as match_count FROM names WHERE (name = 'run' AND 'date' = '12/03/2015') OR (name = 'dance' AND 'date' = '10/01/2015') OR (name = 'dance' AND 'read' = '26/05/2015') GROUP BY name
if($result->match_count == $numberOfConditions)
$result->name