【问题标题】:Compare 2 fields in Drupal比较 Drupal 中的 2 个字段
【发布时间】:2011-10-06 10:36:36
【问题描述】:

我想在 Drupal 中做一个简单的 SQL 查询,但我不知道怎么做。我想实现这一点:

SELECT COUNT(nid) AS i_count FROM node WHERE `created` != `changed`;

我有以下代码,但不起作用:

$query = db_select('node', 'n');
$query->addExpression("COUNT(nid)","i_count");
$query->condition("created","changed","!=");
$i_number_published = $query->execute()->fetchCol();

它不起作用的原因是它将列created与字符串值"changed"进行比较。有什么办法可以告诉它比较列而不是列字符串?

【问题讨论】:

    标签: mysql drupal drupal-7


    【解决方案1】:

    使用where()成员函数根据表中其他字段添加条件:

    $query = db_select('node', 'n');
    $query->addExpression("COUNT(nid)","i_count");
    $query->where("created != changed");
    $i_number_published = $query->execute()->fetchCol();
    

    【讨论】:

    • 谢谢,不知道有where方法。
    【解决方案2】:
    $result_handler = db_query("select count(nid) from {node} where `created` != `changed`") ; 
    
    $result_arr = db_fetch_array($result_handler) ; 
    
    $number_of_nodes = $result_arr['count(nid)'] ; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-31
      • 2010-10-22
      • 2017-08-03
      • 1970-01-01
      • 1970-01-01
      • 2018-12-29
      相关资源
      最近更新 更多