【问题标题】:Intersect two SQL statement in Yii?Yii中的两条SQL语句相交?
【发布时间】:2015-09-16 08:42:17
【问题描述】:

我想对两个 SQL 查询应用相交运算符,但在 CDbCommand 中找不到任何 Yii 方法。有吗?

【问题讨论】:

    标签: sql yii intersect


    【解决方案1】:

    很遗憾,Yiis CDbCommand 中没有 INTERSECT 运算符。但是您可以使用“纯”SQL 进行查询。

    例子:

    $sql = "first select INTERSECT second select"; 
    $result = Yii::app()->db->createCommand($sql)->queryAll();
    

    您也可以使用 CDbCommands 进行单个查询,只需在它们上使用 buildQuery()。它看起来像:

    $firstSql = 'define sql here';
    $firstSql->where('your condition');
    
    $secondSql = 'define sql here';
    $secondql->where('your condition');
    
    $sql = buildQuery($firstSql) . ' INTERSECT ' . buildQuery($secondSql);
    $result = Yii::app()->db->createCommand($sql)->queryAll();
    

    希望对你有帮助!

    【讨论】:

    • 我暂时只做了这个。但这是一种黑客行为。
    • 在yii中使用纯sql是正常的做法,仍然没有实现所有的sql功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    相关资源
    最近更新 更多