简体   繁体   中英

Subtract 2 Columns from different tables

I'm trying to build a query where 2 columns from different tables get subtracted. This is what I tried:

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

The first table has the value 'Amount' which is unique for each id, the second table is bound by a foreign key to the id of the first table and has the parameter 'Amount_Run' which is also different depending on the id. Amount = Amount – Amount_run. Any Idea what I'm doing wrong.

If i understood your question correctly, a simple join and then subtract would do the trick:

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(); 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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