【发布时间】:2015-09-16 08:42:17
【问题描述】:
我想对两个 SQL 查询应用相交运算符,但在 CDbCommand 中找不到任何 Yii 方法。有吗?
【问题讨论】:
我想对两个 SQL 查询应用相交运算符,但在 CDbCommand 中找不到任何 Yii 方法。有吗?
【问题讨论】:
很遗憾,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();
希望对你有帮助!
【讨论】: