我正在使用 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
知道谁来解决这个问题吗?谢谢
最佳答案
这是因为您的子查询中的列不明确。
您应该在子查询中使用特定的列名而不是 *。
请引用下面的例子:
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
关于php - MySQL 子查询错误 : SQLSTATE[42S21]:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27497617/