UnionAll select中存在子查询 返回

SqlSugar 沟通中
8 391
该叫什么 steve 发布于2024/4/2
悬赏:0 飞吻
var q1=db.Queryable<Order>().Select(it => new { id=it.Id, detalils = SqlFunc.Subqueryable<OrderDetails>().where().ToList});
var q2 = db.Queryable<Order>().Select(it =>new { id = it.Id, detalils = SqlFunc.Subqueryable<OrderDetails>().where().ToList} });

db.UnionAll(q1, q2).ToList();


这里面的detalils 没有生效

热忱回答8

  • db.UnionAll(q1, q2)


    .Select(it=>new xx{ 

       子查询要写到这儿

    }).ToList();


    0 回复
  • steve steve VIP0
    2024/4/2

    但是我q1和q2 子查询的where条件不一样

    q1的子查询where(it => it.a = '1')

    q2的子查询where(it => it.a = '2')

    0 回复
  • steve steve VIP0
    2024/4/2
    var q1= db.Queryable<Order>().Select(it => new { id=it.Id, detalils = SqlFunc.Subqueryable<OrderDetails>().where(d => d.oid = it.id).ToList});

    var q2 = db.Queryable<Order>().Select(it =>new { id = it.Id, detalils = SqlFunc.Subqueryable<OrderDetails>().where(d => d.ooid = it.id).ToList} });

    q1是用oid关联,q2是用ooid关联

    0 回复
  • steve steve VIP0
    2024/4/2

    有办法么

    0 回复
  • 都 说写到后面了 只是把思路换一下

    0 回复
  • steve steve VIP0
    2024/4/2

    _db.UnionAll(inquery, outquery)

    .Select(t => new output(){

        Id = t.Id.SelectAll(),

        charges = SqlFunc.Subqueryable<Charge>()

                                .Where(it => it.c_bid == t.Id || it.c_outid = t.id)

    }

    我是写到unionAll里面了,但是这里子查询的条件有点差别,如果是inquery,我需要用 c_bid关联,如果是outquery,我想用c_outid关联,就这里我没搞清楚咋写

    0 回复
  • 你不用想着什么关联,你反正union all 之前把要查询的都用SELECT查询出来

    UNION ALL有了这些支撑在写 SELECT SUBQUERY

    0 回复
  • steve steve VIP0
    2024/4/4

    我写在SUBQUERY里面,这种写法会报错

    image.png

    0 回复