Count child record and show zero if empty
I'm fine with both C# and VB.NET
我有两张桌子。作者和书籍。这是一对多的关系,作者对书籍。我正在写一个查询来显示每个作者有多少本书。
我写了以下问题:
1 2 3 | Dim query = From oa In db.Authors _ Group oa By oa.Book Into grouping = Group _ Select Author = Book, Count = grouping.Count(Function(s) s.AuthorId) |
此查询将给出以下结果:
1 2 3 | - Author A : 2 books - Author B : 3 books - Author C: 1 book |
但在作者表中,有些作者还没有任何书籍。例如,有两位作者,作者D和作者E还没有书。
我想写一个包含所有作者和其他书籍数量的查询,即使他们还没有任何书籍,但在books表中还没有记录。
我想得到这样的东西:
1 2 3 4 5 | - Author A : 2 books - Author B : 3 books - Author C: 1 book - Author D: 0 book - Author E: 0 book |
谢谢您。
分组是否有原因?这不管用吗?
1 |