我正在使用Yii 1.1.15,并且在我的模型中使用scopes
在我的查询中得到一个重复的列名称
function scopes () {
return array(
'isUsed'=> array(
'alias' => 'd',
'join' => 'JOIN `ads` v',
'condition'=>'d.is_new="0"',
//'group'=>'v.store_id'
),
);
}
它会生成此查询
SELECT COUNT(*) FROM (
SELECT * FROM `store` d
JOIN `ads` v
WHERE ((d.pending!="1") AND (d.is_new="0")) AND (v.store_id IN (6))
) sq
Yii给我这个错误
CDbCommand failed to execute the SQL statement: SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'id'. The SQL statement executed was: SELECT COUNT(*) FROM (
SELECT * FROM `store` d
JOIN `ads` v
WHERE ((d.pending!="1") AND (d.is_new="0")) AND (v.store_id IN (6))
) sq
任何想法解决这个问题的人?感谢
答案 0 :(得分:0)
这是因为您的子查询中的列不明确。
您应该在子查询中使用特定列名而不是*。
请参考以下示例:
SELECT COUNT(*) FROM (
SELECT d.columnName,v.columnName,.... FROM `store` d
JOIN `ads` v
WHERE ((d.pending!="1") AND (d.is_new="0")) AND (v.store_id IN (6))
) sq