подзапросы внутри синтаксиса Laravel Raw - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь использовать DB::raw('raw sql query') для выполнения запроса ниже:

    $rates = DB::raw('SELECT
           mid,
           x.qty_t/x.qty_total,
           x.qty_t,
           x.qty_total,
           FROM
              (SELECT
                 mid,
                 SUM(CASE WHEN (mtc="qty") THEN 1 ELSE 0 END) AS qty_total,
                 SUM(CASE WHEN (mtc="qty") THEN rte ELSE 0 END) AS qty_t,
                 STDDEV(CASE WHEN (mtc="qty") THEN rte ELSE 0 END) AS qty_sd
            FROM
               t_r
            GROUP BY
               mid) x')->get();

Я получаю синтаксическую ошибку после (SELECT на mid, mtc и t_r.

Как мне заставить это работать, используя raw?

1 Ответ

0 голосов
/ 03 декабря 2018

Вам нужно обернуть DB :: select вокруг него.Нечто подобное должно работать.

$rates = DB::select(DB::raw('SELECT
       mid,
       x.qty_t/x.qty_total,
       x.qty_stddev,
       x.qty_total,
       FROM
          (SELECT
             mid,
             SUM(CASE WHEN (mtc="qty") THEN 1 ELSE 0 END) AS qty_total,
             SUM(CASE WHEN (mtc="qty") THEN rte ELSE 0 END) AS qty_t,
             STDDEV(CASE WHEN (mtc="qty") THEN rte ELSE 0 END) AS qty_sd
        FROM
           t_r
        GROUP BY
           mid) x'))->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...