[英]mysql Error Code : 1052 with Zend_Db
我有2张桌子
1 =“ issue_history”
2 =“ issue_history_status”
“ issue_history_id”是两个表中的列名。
“ issue_history”中的PK和“ issue_history_status”中的FK
这是我的查询
$sql = $this->_db->select()
->from(array('ih' => 'issue_history'),array('COUNT(issue_history_id) as tot','DATE(date_created)AS date'))
->join(array('ihs' => 'issue_history_status'),'ih.issue_history_id = ihs.issue_history_id');
但是它给了我错误
Error Code : 1052 Column 'issue_history_id' in field list is ambiguous
这是我的完整代码
public function getDataForGraph($sd,$ed,$issues,$os,$pf,$model,$version){
$sql = $this->_db->select()
->from(array('ih' => 'issue_history'),array('COUNT(issue_history_id) as tot','DATE(date_created)AS date','issue_history_id'))
->join(array('ihs' => 'issue_history_status'),'ih.issue_history_id = ihs.issue_history_id');
if(Engine::notEmpty($sd) && $sd != 'sd' && SG_Support_Engine::notEmpty($ed) && $ed != 'ed'){
$sql->where('DATE(ih.date_created) >= ?',$sd );
$sql->where('DATE(ih.date_created) <= ?',$ed );
}
if(Engine::notEmpty($issues) && $issues != 'issues'){
$issues = implode(',', $issues);
$sql->where('ihs.issue_id IN('.$issues.')');
}
if(Engine::notEmpty($os) && $os != 'os'){
$sql->where('ih.phone_service_os IN (?)',$os );
}
if(Engine::notEmpty($pf) && $pf != 'pf'){
$sql->where('ih.phone_service_device IN (?)',$pf );
}
if(Engine::notEmpty($model) && $model != 'model'){
$sql->where('ih.phone_service_model IN (?)',$model );
}
if(Engine::notEmpty($version) && $version != 'ver'){
$sql->where('ih.phone_service_version IN (?)',$version );
}
$sql->group('DATE(ih.date_created)');
$sql->order('DATE(ih.date_created)');
echo $sql->__toString(); exit;
return $sql->query()->fetchAll();
}
COUNT(issue_history_id)
这两个表中都有该字段,因此存在歧义。 您还需要提及表名称才能使其正常工作。 您要计算哪个issue_history_id
COUNT(ih.issue_history_id)
要么
COUNT(ihs.issue_history_id)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.