首页 > 解决方案 > 如果一个表中可能没有相应的条目,如何连接两个表并计算连接匹配的次数?

问题描述

在 SQLite 我有两个表:

public class DeckSource {
   [PrimaryKey, NotNull]
   public string DeckGuid      { get; set; }
   public string Type        { get; set; }
   public string Name { get; set; }
}

public class Deck {
   [PrimaryKey, NotNull]
   public long IdEs { get; set; }
   public string DeckGuid      { get; set; }
   public string Type        { get; set; }
   public string Name { get; set; }
}

我的应用程序有一个添加按钮,按下该按钮时会从 DeckSource 中的一行获取数据并填充 Deck。所以对于每个 DeckSource 可以有多个卡组。我想从 DeckSource 获得一份报告,显示每个 Deck 被添加到 Deck 的次数。

如果 DeckSource 表如下所示:

DeckGuid   Name
abc        abcrow
def        deform
ghi        ghirow

和甲板看起来像这样:

IdEs    DeckGuid    Name
1       abc         abcrow
2       abc         abcrow
3       abc         abcrow
4       chi         ghirow

如何创建显示以下内容的报告:

DeckGuid   Name     Qty
abc        abcrow   3
def        defrow   0
ghi        ghirow   1

标签: sqlsqlite

解决方案


你试过这个吗?

select decksource.deckguid,decksource.name,count(*)
from decksource 
left join deck 
on decksource.deckguid = deck.deckguid
group by decksource.deckguid

推荐阅读