我正在尝试恢复发生次要事件的合同数量超过表中指定的数量。为此,我有两张表,一张表存储了合同数据和hired_frequency,另一张表显示了合同发生的次数。在这种情况下,我无法创建一个返回所有行的 SQL(在 Postgres 中),这些行没有出现,并且其中发生了hired_frequency 描述的次要事件。
表 1 - 合同
ID | hired_frequency
527 | 1
528 | 3
526 | 5
555 | 1
413 | 3 -- not show this
500 | 1 -- not show this
表 2 - 出现次数
itinerary_fixed_id | contract_id
2443 | 527
2443 | 528
123 | 526
123 |555
我的选择(不工作)
SELECT
*
FROM
contracts
WHERE
hired_frequency > (
SELECT COUNT
( * )
FROM
occurrences
WHERE
contracts.ID = occurrences.contract_id
GROUP BY
contract_id
)
我创建了一个小提琴来测试...... http://sqlfiddle.com/#!17/95cd2/1/0