在Yii中交叉两个SQL语句?

时间:2015-09-16 08:42:18

标签: sql yii intersect

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

1 个答案:

答案 0 :(得分:0)

不幸的是,Yiis CDbCommand中没有INTERSECT运算符。但你可以使用" pure"用于进行查询的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();

希望它会对你有所帮助!