[Решено] Нужна помощь по SQL

Главные вкладки

Аватар пользователя Photoshopper Photoshopper 9 октября 2014 в 14:24

У меня есть 2 типа материалов "Кандидаты" и "Новости". Все они ссылаются на одинаковые термины таксономии. Мне нужно вывести количество "Кандидатов" по каждом термину.

Получилось вывести только общее количество нод в терминах. А мне нужно только по одному типу посчитать.

<?php 
    $terms 
db_query("
      SELECT tid, name, (
        SELECT COUNT(*) FROM {taxonomy_index} ti
        LEFT JOIN {node} n ON ti.nid = n.nid
        WHERE ti.tid = td.tid AND n.status = 1
      ) node_count FROM {taxonomy_term_data} td
      WHERE vid = :vid
      ORDER BY weight
    "
, array(':vid' => 2));
 
    
$items = array();
    foreach (
$terms as $term) {
      
$items[] = $term->node_count;
    }
?>

Потом я эти значения вывожу так

<?php echo $items[0]; ?>
<?php 
echo $items[1]; ?>
<?php 
echo $items[2]; ?>
<?php 
echo $items[3]; ?>

UPD: Получилось самому разобраться.

<?php   
    $terms 
db_query("
      SELECT tid, name, (
        SELECT COUNT(*) FROM {taxonomy_index} ti
        LEFT JOIN {node} n ON ti.nid = n.nid
        WHERE ti.tid = td.tid AND n.status = 1 AND n.type = 'candidates'
      ) node_count FROM {taxonomy_term_data} td
      WHERE vid = :vid
      ORDER BY weight
    "
, array(':vid' => 2));
 
    
$items = array();
    foreach (
$terms as $term) {
      
$items[] = $term->node_count;
    }
  
?>