2012-09-24 65 views
-1

这是我的表:Zend框架:选择重复的行

mat_id| yes| no | type 
    1 | 1 | 0 | 3 
    1 | 1 | 0 | 3 
    2 | 1 | 1 | 3 
    3 | 1 | 0 | 3 

我的选择查询:

$q = $db->select()->from('tableName', 'mat_id')->where('type = ?', 3)->group('yes')->having('COUNT(yes) > 1'); 

但为什么选择mat_id = 1而已,应该采取mat_id =1,3

+0

我续得到you.Do你的意思是你要选择另一列..? – Gautam3164

+0

对不起,但这个问题是不可理解的。你需要明确你希望我们提供的帮助。你目前的成果是什么?期望的结果是什么? – Lobo

回答

0

试试这个,

$db->select()->->distinct()->from('tableName', 'mat_id')->where('type = ?', 3)->group('yes')->having('COUNT(yes) > 1'); 
+0

再次只选择'mat_id = 1' – Defense

+0

你只是说只显示mat_id = 1,3。为此,你的条件应该是where('type =?AND no =?',array(3,0))。应该是$ db-> select() - > - > distinct() - > from('tableName','mat_id') - > where('type =?AND no =?',array(3,0)) - > group(array('yes','mat_id')) - > having('COUNT(yes)> 1'); – Tarun

+0

我不知道为什么,但再次只选择mat_id = 1 – Defense