如何解决这个特定的SQL查询?

马克西姆·斯科尼

我陷入了这个SQL问题:我需要找到所有未缴纳2014年年费的成员。这是数据库的示例:

Table 'members'

| ID | name   |
---------------
| 1  | Franck | 
| 2  | Andy   |
| 3  | Jack   |


Table 'payements'

| ID  | memberID | year   | amount |
------------------------------------
| 1   | 1        | 2013   | 100    |
| 2   | 1        | 2014   | 100    |
| 3   | 2        | 2013   | 100    |

我尝试过这样的事情:

SELECT members.name FROM members
LEFT JOIN payements ON (payements.memberID = members.ID)
WHERE (payements.year = 2014 AND payements.amount < 100) OR payements.memberID IS NULL

我的查询正确地找到了杰克(他从没支付过任何东西),但是却找不到安迪,因为条目存在了一年。我该如何要求所有没有2014年专门参赛作品(或参赛作品数量少于100个)的会员?

xQbert

考虑数据集

  1. 设置1每个应该付款的人
  2. 设置2个支付正确的人

我们将集合作为左联接(不包括2014年已付款者)将其联接在一起,我们将联接数限制添加到了清单中,以便仅列出当年的全额付款。然后,我们将从完整的用户集中排除那些用户。

Select m.name, p.memberid, p.year, p.amount
from members m
LEFT JOIN payements p
 on m.id = p.memberId
 and (p.year = 2014  and p.amount >= 100)
WHERE p.year is null

您的目录不起作用的原因是where子句使外部联接成为内部联接。AND,因为您想要一组尚未付款的用户。不是已经付款的人。因此,我们需要将第二组设置为已付款的人...将<更改为> =。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL - 如何解决这个查询?

来自分类Dev

如何解决这个pl sql oracle查询?

来自分类Dev

如何解决这个MySQL查询

来自分类Dev

如何解决这个SQL主题?

来自分类Dev

如何解决这个特定的python循环导入?

来自分类Dev

如何解决此SQL查询?

来自分类Dev

如何解决以下SQL查询?

来自分类Dev

如何解决这个逻辑?

来自分类Dev

如何解决这个挑战

来自分类Dev

如何解决这个得分?

来自分类Dev

如何解决这个僵局

来自分类Dev

如何解决这个程序?

来自分类Dev

如何解决这个菜单?

来自分类Dev

如何解决这个练习?

来自分类Dev

如何解决这个问题?

来自分类Dev

SQL ORA-02063 - 如何解决这个问题?

来自分类Dev

请找到此查询的解决方案我该如何解决这个问题

来自分类Dev

如何解决SQL Server查询中的排序规则冲突?

来自分类Dev

简单的SQL查询,但不知道如何解决

来自分类Dev

如何解决sql查询中的性能问题?

来自分类Dev

如何解决这个拆包问题?

来自分类Dev

如何解决这个ajax jquery错误?

来自分类Dev

如何解决这个烦人的WiX问题?

来自分类Dev

如何解决这个android buildtoolserror

来自分类Dev

如何解决这个Git问题?

来自分类Dev

如何解决这个JavaScript的foreach错误?

来自分类Dev

如何解决这个Maven的依赖地狱

来自分类Dev

如何解决这个Excel公式?

来自分类Dev

我该如何解决这个问题?