我正在使用 oracle 数据库,我有两个表。
表 A 主键 = productid
表 B 引用表 A 的 productid
主键 = imageid
流动:
每个产品应在表 B 中存储 4 张图片(强制)
问题:
有一些产品只有 2 个或有时 3 个或有时 1 个图像,尽管 4 个图像规则基于代码级别是强制性的。
问题:
如何计算在表 b 中有图像的产品的唯一数量?因为,如果我这样做
select count(*) from tableA join tableB on tableA.productid = tableB.productid
结果是双倍的,因为它是一对多的……例如,一个产品有很多图像。所以让我们说productID = 12345
has 4 images
in table B
,一旦我运行我的查询,结果是 4 ,当我只想得到 1 ......那怎么办?