第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

左聯(lián)接并僅使用 LARAVEL 6.5.0 從右表中返回最新記錄

左聯(lián)接并僅使用 LARAVEL 6.5.0 從右表中返回最新記錄

PHP
眼眸繁星 2022-09-12 10:14:22
Table 1----------NameID     Name------------------1           A2           B3           C-----------------Table 2--------------------ID   NameID   Order   --------------------1      1      Sugar2      1      Salt 3      2      Garlic 4      2      Sugar5      2      Onion6      3      Oil7      3      Black pepper 我只想從右表中返回最新的,每個nameID只有一條記錄,我不知道要使用什么代碼這是我想返回的結果RESULT----------------------------Name           Order---------------------------A              Salt  B              Onion    C              Black pepper控制器.phpreturn DB::table('table1')->leftjoin('table2','table1.nameID','=','table2.nameID')-get();
查看完整描述

3 回答

?
www說

TA貢獻1775條經驗 獲得超8個贊

試試這個


$data = Table1::select('Table1.Name', 'Table2.Order','Table2.ID')

->leftJoin('Table2', function($query) {

   $query->on('Table1.NameID','=','Table2.NameID')

        ->whereRaw('Table2.ID IN (select MAX(a2.ID) from Table2 as a2 join Table1 as u2 on u2.NameID = a2.NameID group by u2.NameID)');

})->get();

編輯:


$data = Table1::select('Table1.Name', 'Table2.Order','Table2.ID')


查看完整回答
反對 回復 2022-09-12
?
森林海

TA貢獻2011條經驗 獲得超2個贊

使用不存在來篩選


select Name, Order


from Table1 a 

inner join

(

Select a.NameID, Order from Table2 a 

where not exists(select 1 from Table2 b where a.NameID  = b.NameID  and a.ID < b.ID)

)b on a.NameID = b.NameID


查看完整回答
反對 回復 2022-09-12
?
米脂

TA貢獻1836條經驗 獲得超3個贊

您可以嘗試下面的腳本 -


SELECT B.NameID, B.Name, C.[Order]

FROM 

(

    SELECT Nameid,MAX(ID) ID

    FROM table_2

    GROUP BY NameID

)A

INNER JOIN Table_1 B ON A.NameID = B.NameID

INNER JOIN Table_2 C ON A.NameID = C.NameID AND A.ID = C.ID 


查看完整回答
反對 回復 2022-09-12
  • 3 回答
  • 0 關注
  • 128 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號