3 回答

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')

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

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
- 3 回答
- 0 關注
- 128 瀏覽
添加回答
舉報