【发布时间】:2016-12-15 08:37:02
【问题描述】:
我有三个表,它们在这里由对象表示并转换为 SQLite 表。 CategoryGroup 表有多个Categories,每个Category 有多个Phrases。
public class CategoryGroup
{
[PrimaryKey, NotNull]
public int Id { get; set; }
public string Name { get; set; }
public bool Selected { get; set; }
}
public class Category : ICategory
{
[PrimaryKey, NotNull]
public int Id { get; set; }
public int CategoryGroupId { get; set; }
public string Name { get; set; }
public bool Selected { get; set; }
}
public class Phrase : IPhrase
{
public int CategoryId { get; set; }
[PrimaryKey, NotNull]
public string PhraseId { get; set; }
public string English { get; set; }
public string Romaji { get; set; }
public string Kana { get; set; }
public string Kanji { get; set; }
public int Modified { get; set; }
}
我想做的是加入这三个表并按 CategoryGroup 对它们进行分组,然后报告 Selected 计数。
我创建了这个 SQL,但我不确定三表连接。
SELECT CG.Id, CG.Name, COUNT(*) AS PhraseCount
FROM CategoryGroup AS CG
FROM Category AS C
JOIN CG.Id = P.CategoryId
JOIN Phrase AS P ON C.Id = P.CategoryId
GROUP BY CG.Id
ORDER BY CG.Name
有人可以给我一些关于如何加入的建议吗?
【问题讨论】: