我有一个包含两个表的数据库:Customers
和Services
。只返回多行记录的SQL查询
Customer
表具有帐户信息,而Services
表具有我公司已执行的每项服务的个人记录。
Services
表链接到Customer
表与ID
列,其中Customers.ID = Services.CustomerID
。
我正在尝试执行一个查询,该查询将仅返回客户名称和账号,以便只有那些在指定日期范围内执行了多项服务的客户。例如,向我展示我在2015年已执行两次以上工作的所有客户。
如何编写此类查询以便只返回具有多个服务访问权限的那些查询?我可以使用游标来做到这一点,计算结果等,但似乎必须有一个更有效的方法。
不和的'大风扇(1)> 1'虽然..'HAVING COUNT(*)> 1'更有意义 – JamieD77
@ JamieD77,我想这是偏好的问题。我通常使用SUM,因为它也允许添加像这样的条件:'SUM(CASE WHEN condition THEN 1 ELSE 0 END)'。最后它在这里也是这样。 – Lucero
这是真的!..就像'COUNT(CASE WHEN condition THEN field END)'lol +1 – JamieD77