Вычтите 2 столбца из разных таблиц - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь построить запрос, в котором вычитаются 2 столбца из разных таблиц.Вот что я попробовал:

DB::connection('lab_inv')->where('tab2'.'Amount_Run', '=', 'tab1'.'Amount')->selectraw('tab1.Amount - tab2.Amount_Run');

Первая таблица имеет значение 'Amount', которое уникально для каждого идентификатора, вторая таблица связана внешним ключом с идентификатором первой таблицы и имеетпараметр Amount_Run, который также отличается в зависимости от идентификатора.Amount = Amount - Amount_run.Любая идея, что я делаю не так.

1 Ответ

0 голосов
/ 31 января 2019

Если я правильно понял ваш вопрос, простое соединение, а затем вычитание сделают трюк:

DB::connection('lab_inv')
    ->table('tab1')
    ->join('tab2', 'tab1.id', 'tab2.tab1_id') // replace this with the actual foreign key 
    ->selectraw('tab1.Amount - tab2.Amount_Run AS amount')
    ->get(); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...