0
我很弱,SQL查詢語法,我需要使用php symfony2進行一個查詢。
我有表公司。它有專欄「城市」。
我有表CompanyCategory。它有列「company_id」和「category_id」。
我有表類別。它有列「名稱」。
SQL查詢加入不同的表並計數
我需要獲得所有可用城市的類別總數。
例子:
["Riga" => 156,
"Berlin" => 225]
我已經看了看周圍的幾個小時,但其他的例子沒有幫助我足夠的,因爲我無法理解這種複雜的查詢呢。
我已經嘗試過很多案例,現在和每次都有不同的例外。
public function getCategoriesInCities() {
return $this->getEntityManager()
->createQuery('SELECT c.city, count(*) as categorycount FROM AdminBundle:Company c INNER JOIN AdminBundle:CompanyCategory s')
->getArrayResult();
}
[Syntax Error] line 0, col -1: Error: Expected Doctrine\ORM\Query\Lexer::T_WITH, got end of string.
其他情況:
public function getCategoriesInCities() {
return $asData = $this->getEntityManager()
->createQuery('SELECT c.city, count(*) as categorycount FROM AdminBundle:Company c INNER JOIN AdminBundle:CompanyCategory s ON(c.id = s.company_id) GROUP BY c.city')
->getArrayResult();
}
[Syntax Error] line 0, col 123: Error: Expected Doctrine\ORM\Query\Lexer::T_WITH, got 'ON'
其他情況:
public function getCategoriesInCities() {
return $this->createQueryBuilder('c')
->select('c.city, COUNT(*) as categorycount')
->innerJoin('AdminBundle:CompanyCategory ON(c.id = cc.company_id)', 'cc')
->groupBy('c.city')
->getQuery()
->getArrayResult();
}
[Syntax Error] line 0, col 138: Error: Expected Literal, got 'BY'
等不能找出如何解決這個問題。