从多个表中得出不同的结果

问题描述 投票:0回答:1

我有一个项目表和项目属性表,我正在寻找自给定日期以来在项目表或任何属性表中都有更改的不同项目ID的数量。

ID将在item.id,attribute1.item_id,attribute2.item_id,attribute3.item_id中找到日期将在item.updated_at,attribute1.updated_at,attribute2.updated_at,attribute3.updated_at]中找到]

我尝试过此操作,这为我提供了正在寻找的唯一ID(共返回53个)

SELECT DISTINCT item.id
FROM postgres.item
WHERE item.updated_at >= (current_date - interval '1 week')
UNION
SELECT DISTINCT attribute1.item_id
FROM postgres.attribute1
WHERE attribute1.updated_at >= (current_date - interval '1 week')

但是我需要归还点数,所以我很累,

SELECT COUNT (DISTINCT item.id)
FROM postgres.item
WHERE item.updated_at >= (current_date - interval '1 week')
UNION
SELECT COUNT (DISTINCT attribute1.item_id)
FROM postgres.attribute1
WHERE attribute1.updated_at >= (current_date - interval '1 week')

它给我4和52,这些是每个表的唯一性,但我需要组合表中的53个唯一性

我有一个项目表和项目属性表,我正在寻找自给定日期以来在项目表或任何属性表中都有更改的不同项目ID的数量。 ID ...

postgresql count union distinct
1个回答
0
投票

您可以使用如下所示的子查询来使用

© www.soinside.com 2019 - 2024. All rights reserved.