Subsonic 亚音速:需要自连接查询

Subsonic 亚音速:需要自连接查询,subsonic,Subsonic,我想构造将在.net中使用的查询。下面你可以看到sql查询,任何人都可以给我等价的亚音速查询 请帮帮我 亚音速2还是3 使用亚音速,你总是有一个很好的后门 它在2.x中称为InlineQuery,在3.x中称为CodingHorror e、 g: 如果由于语法检查和sql转换,您想继续使用fluent接口。这里是我可以想到的另一种方法(亚音速2.2) 但我从来没有这样做过,也没有验证过。但也许它能起作用 SELECT DISTINCT a2.AccountID AS BID, a2.Ac

我想构造将在.net中使用的查询。下面你可以看到sql查询,任何人都可以给我等价的亚音速查询

请帮帮我

亚音速2还是3

使用亚音速,你总是有一个很好的后门

它在2.x中称为InlineQuery,在3.x中称为CodingHorror

e、 g:

如果由于语法检查和sql转换,您想继续使用fluent接口。这里是我可以想到的另一种方法(亚音速2.2)

但我从来没有这样做过,也没有验证过。但也许它能起作用

SELECT DISTINCT
  a2.AccountID AS BID,
  a2.AccountName AS Brand
FROM
  Account a
  INNER JOIN Account a2 ON a.ParentID = a2.AccountID
WHERE
  a.AccountTypeID = 6
ORDER BY
  Brand
var result = DB.Query().ExecuteReader("SELECT DISTINCT
      a2.AccountID AS BID,
      a2.AccountName AS Brand
   FROM Account a
     INNER JOIN Account a2 ON a.ParentID = a2.AccountID
   WHERE a.AccountTypeID = ?accounttypeid
   ORDER BY Brand", 6);
        DataTable result = DB.Select(
                "a1." + Account.Columns.AccountId + " as BID",
                "a2." + Account.Columns.AccountName + " as Brand")
            .From(Account.Schema.QualifiedName + " a1")
            .InnerJoin(Account.Schema.QualifiedName + " a2", 
                      "a2." + Account.Columns.account_id,
                "a1", "a1." + Account.Columns.parent_id)
            .Where("a1." + Account.Columns.AccountTypeId).IsEqualTo(6)
            .OrderAsc("a2." + Account.Columns.AccountName)
            .ExecuteDataSet().Tables[0];