【发布时间】:2019-06-20 10:19:36
【问题描述】:
这是我的桌子的一个例子。
我需要做一个查询,显示那些在两个月(11 或 12)中的一个或两个月中的一个费用为 0 的 ID。
因此,从示例中,我需要显示 ID 1、3、4 而不是 2,如下面的屏幕截图所示。
我尝试了以下查询:
SELECT
t1.id, t1.month, t1.fee, t2.id, t2.month, t2.fee
FROM
table t1, table t2
WHERE t1.id = t2.id
AND t1.month = '11'
AND t2.month = '12'
AND (t1.fee = 0 OR t2.fee = 0);
但是通过这个查询,我只看到 ID 1,3 而不是 ID 4。我猜这是因为 t1.id = t2.id 但不知道该怎么做。
【问题讨论】:
-
今日提示:始终使用现代、明确的
JOIN语法。更容易编写(没有错误),更容易阅读和维护,如果需要更容易转换为外连接!
标签: sql postgresql pivot crosstab