0

私は oracle データベースを使用しています。2 つのテーブルがあります。

テーブル主キー = productid

テーブル B は、テーブル A の productid を参照します

主キー = イメージ ID

フロー:

各製品には、テーブル B に保存された 4 つの画像が必要です (必須)。

問題:

コード レベルに基づいて 4 つのイメージ ルールが必須であるにもかかわらず、イメージが 2 つ、場合によっては 3 つ、場合によっては 1 つしかない製品もあります。

質問:

テーブルbに画像がある製品の一意の数をカウントする方法は?

select count(*) from tableA join tableB on tableA.productid = tableB.productid

1 対多であるため、結果は 2 倍になります... のように、1 つの製品に多くの画像があります。productID = 12345では、 has 4 imagesinとしましょうtable B。クエリを実行すると、結果は 4 になります。

4

3 に答える 3

1
SELECT Count(DISTINCT TableA.productid)
FROM   TableA 
JOIN   TableB ON TableA.productid = TableB.productid;
于 2013-10-29T02:45:28.677 に答える