请教 一对多关系取最新一条数据 返回

SqlSugar 沟通中
2 350
该叫什么 华强 发布于2025/7/22
悬赏:0 飞吻

是否有查询某个字段对应的某张表的最新一条数据  类似于pgsql 里面的DISTINCT ON 用法 以下是sql示例 

SELECT DISTINCT ON

( ev."DEV_MAC" ) ev."DEV_MAC",

ev."DEV_NAME",

ev."DEV_ASSETID",

em."DEV_COMPONENT",

em."MSG_DATETIME",

em."MESSAGE",

em."MSG_TYPE",

em."MGS_ACTION" 

FROM

"EXTV_DEVICE_PROPERTY" ev

LEFT JOIN "EXTV_DEVICE_MESSAGE" em ON ev."DEV_MAC" = em."DEV_MAC" 

ORDER BY

ev."DEV_MAC",

em."MSG_DATETIME" DESC;


EXTV_DEVICE_MESSAGE 是设备表,EXTV_DEVICE_MESSAGE是设备记录表 是一对多关系 

热忱回答2

  • fate sta fate sta VIP0
    2025/7/22

        var queryablel = db.Queryable<xx>().LeftJoinxxxx;//不ToList();


        var sqlObj=queryablel.ToSql();


       var sql=sqlobj.Key.Replace("Select "," Select distinct on ");


      var list=db.Ado.SqlQuery<T>(sql,sqlobj.Value);


    0 回复
  • 华强 华强 VIP0
    2025/7/23

    好的 谢谢

    0 回复