选择具有相同列值的另一行

时间:2011-12-09 12:49:17

标签: asp.net sql linq

例如我有下表

    id      name                        taxid     taxname
    180555 'All Ballooning Services'    11         Meetjesland
    180555 'All Ballooning Services'    12         Aalter
    184672 'All Inn'                    13         geen classement
    184672 'All Inn'                    14         Regio's
    184672 'All Inn'                    15         Gent

我只给了taxid(例如说:11)

现在我正在搜索taxid,例如:

var q = from e in db where e.taxid == 11 select e;

但在此查询之后我需要获取id(180555,这对于出租车11和12来说是相同的) 并使用taxid返回行12

有人知道如何在一个查询中做到这一点吗?

2 个答案:

答案 0 :(得分:2)

尝试,

 var query = from e1 in db
               where e1.id ==
                (
                  from p1 in db
                  where p1.taxid == 1
                  select p1.id).FirstOrDefault()
              select e1;

答案 1 :(得分:0)

使用此查询。它会起作用。

var query = from e in db 
            join e1 in db on e.id equlas e1.id 
            where e.taxid == 11 
            select e1;
相关问题