0
我不太瞭解oracle。我最近不得不將PHP/MySQL中的應用程序遷移到PHP/Oracle。正如我使用Doctrine2,我認爲這不會那麼困難,但我陷入這個查詢中。這是由Doctrine2生成的SQL:Oracle doctrine2集團
SELECT a.*
FROM
(SELECT b0_.id AS id0,
b0_.created AS created1,
b1_.businessName AS businessName2,
b1_.isVerified AS isVerified3,
COUNT(b2_.id) AS sclr4
FROM br_merchants b1_
INNER JOIN br_user b0_
ON b1_.id = b0_.id
LEFT JOIN br_campaigns b2_
ON b1_.id = b2_.merchant_id
GROUP BY b0_.id,
b0_.created,
b1_.businessName,
b1_.isVerified
ORDER BY b2_.created DESC
) a
WHERE ROWNUM <= 10
而且我得到ORA-00979: not a GROUP BY expression
。 我讀了一些地方,我需要指定聚合函數在group by語句中未使用的所有列。我這樣做了,但結果是一樣的。
誰能告訴我我哪裏出錯了!謝謝!
編輯:我沒有ORDER BY 2 DESC
它在SQL Developer中工作,但查詢生成器不會採取2.所以我怎麼在Doctrine2 querybuilder中做到這一點!
啊,我怎麼看不到這個!我做了2,因爲在select子句中,我可以看到它的第二列,但在教義查詢生成器中,我正在通過不同的別名(已加入)進行排序。非常感謝 :) – Broncha 2013-03-04 19:17:31