2009-10-03 5 views
2

누적 합계를 생성하기 위해 적절한 DQL을 작성하는 데 어려움을 겪고 있습니다. 나는 평범한 SQL에서 그것을 할 수 있지만, DQL에 관해서는 그럴 수 없다. 이 SQL에 보이는 방법은 다음과Doctrine 누적 DQL

은 다음과 같습니다

$query = Doctrine_Query::create() 
    ->select('sum(amount)') 
    ->from('some_table'); 

체크 아웃 this page에서 :

SELECT s.name, p.date_short, p.nettobuy, 
    (select sum(pp.nettobuy) as sum from price pp where pp.stock_id = p.stock_id and p.broker_id = pp.broker_id and pp.date_short <= p.date_short) as cumulative_sum 
FROM price p 
    left join stock s on p.stock_id = s.id 
    group by p.stock_id, p.date_short 
    order by p.stock_id, p.date_short 

감사

당신은 단지 DQL의 당신의 선택 부분 합계를 지정

답변

2

자세한 정보는 Doctrine 문서를 참조하십시오.

3

안녕하세요, 교리 1.2에 대한 문서를 확인해야하고, 쿼리를 만들 수있는 방법은 (별칭에 관심을 넣어)입니다 :

$query = Doctrine_Query::create(); 
$query->addSelect('AVG(price) as price'); 
$query->addSelect('AVG(cost) as cost'); 
// as many addSelect() as you need 
$query->from('my_table'); 

을 출력하기 위해 만든 SQL 쿼리 :

echo $query->getSqlQuery(); 

이 문 실행하려면 :

$product = $query->fetchOne(); 

을 그리고 검색된 데이터에 액세스하는 것은 :

echo $product->getPrice(); 
echo $product->getCost(); 

Group By Clauses의 나머지 설명서를 읽으십시오.

+0

감사합니다. 내 목숨을 구해주었습니다. – PurplePilot