2011-07-04 7 views
2

2 개의 다른 테이블에서 2 개의 열을 표시하고 하나의 열로 그룹화하고 다른 열을 합산하여 결과 집합을 얻으려고합니다.drupal 7 sql syntax

이 SQL은 phpMyAdmin을 작동합니다

SELECT SUM(field_count_value), field_region_value 
FROM field_data_field_count, field_data_field_region 
WHERE field_data_field_count.entity_id = field_data_field_region.entity_id 
GROUP BY field_data_field_region.field_region_value 
ORDER BY field_count_value DESC 

난 ::

----------------- 
COUNT REGION 
----------------- 
4000  S 
600  E 
----------------- 

필요한 대략 표시하지만 난 7 SQL 쿼리 구문 드루팔로 변환 할 때 :

$nodes = db_query("SELECT SUM(field_count_value), field_region_value 
FROM field_data_field_count, field_data_field_region 
WHERE field_data_field_count.entity_id = field_data_field_region.entity_id 
GROUP BY field_data_field_region.field_region_value 
ORDER BY field_count_value DESC"); 

foreach ($nodes as $record) { 
    echo $record->field_region_value . $record->field_count_value; 
    } 

을 그룹별로 열을 표시 할 수 있습니다.

----------------- 
REGION 
----------------- 
S 
E 
----------------- 

어떤 도움을 주시면 대단히 감사하겠습니다. 나는 이것을 얻기 위해 공식 d7 문서를 참고했다. 거기에서 일하는 예는 그리 많지 않다.

+0

(라고 http://api.drupal.org/한다

$nodes = db_query("SELECT SUM(field_count_value) AS field_count_value, field_region_value FROM field_data_field_count, field_data_field_region WHERE field_data_field_count.entity_id = field_data_field_region.entity_id GROUP BY field_data_field_region.field_region_value ORDER BY field_count_value DESC"); 

을 할 필요가 api/drupal/includes--entity.inc/class/EntityFieldQuery/7)를 참조하십시오. – kiamlaluno

답변

4

당신은 그렇지 않으면 첫 번째 열에는 "SUM (field_count_value)"당신이 [EntityFieldQuery]를 사용한다 이러한 쿼리를 들어

+0

, 그리고 그것을 쥐어 줬습니다. 내가 몇 시간 전에 여기에 게시했으면 좋겠다. – wagner