【问题标题】:SQL COUNT from othertable来自其他表的 SQL COUNT
【发布时间】:2013-11-05 16:37:23
【问题描述】:

假设我有两张桌子。一个叫客户,一个叫奖品

客户和奖品以一对多的关系相互关联。 每次客户收到奖品时,都会将其作为单独的记录插入到奖品表中。

如何通过查询确定某个客户收到了多少奖品?

我希望它显示为:Clients.Clientname,[奖品表中的奖品数量为整数]

我为此付出了很多努力。

我正在尝试在 Ms Access 2007 中做到这一点

提前谢谢各位。

【问题讨论】:

  • 如果你有很多挣扎,你尝试过什么?这是一个非常简单的 SQL 查询(一个连接和一个聚合)。
  • 我尝试过使用这样的子查询:SELECT Clients.ClientID, (SELECT COUNT(*) FROM Prizes)

标签: sql ms-access count subquery


【解决方案1】:

假设这是表结构:

Clients

    ID
    ClientName


Prizes

    ID
    ClientID
    Description

你可以这样做:

SELECT c.Clientname, COUNT(p.ID) AS NumberOfPrizes
FROM Clients c
LEFT JOIN Prizes p ON c.ID = p.ClientID
GROUP BY c.Clientname

【讨论】:

    【解决方案2】:
    select c.Clientname, 
           count(p.id) as prices_count
    from clients c
    left join prices p on p.client_id = c.id
    group by c.Clientname
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-12
      • 1970-01-01
      • 2021-10-03
      • 2020-04-06
      相关资源
      最近更新 更多