繁体   English   中英

Laravel将多个SQL选择为AS

[英]Laravel multiple sql select to AS

我试图选择多个数据库列并将其合并到AS值语句中,例如SELECT sum1 as vsd FROM tablename WHERE year = 2017

我有多个列需要作为一个值输出。 所以我想上面的代码看起来像这样:

SELECT (sum1, sum2) as vsd FROM tablename WHERE year = 2017

我当前的实时代码查询如下所示:

$query = DB::table('exports')->select('id', 'year', 'week', 'month', 'staff_a, staff_b as vsd')->having('year','=',$year)->where('week', '<=', $weeknr)->orderBy('id', 'desc')->take(14)->get()->reverse();

结果是:

找不到列:1054“字段列表”中的未知列“ staff_a,staff_b”

我试图将它们(列)组合成一个数组( array('staff_a', 'staff_b') ),有一些怪异的foreach循环,但并没有尝试使其以另一种方式起作用,但这一切都引发了另一个错误消息。

有什么办法可以将多个选择“合并”到一个?

您必须使用RAW语法:

->select(DB::raw('staff_a + staff_b as vsd'))

参考: https : //laravel.com/docs/5.5/queries#raw-expressions

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM