0

私はOracle SQLを使用しています。私は2つのテーブルを持っています。一方には ItemID と DatePurchased があり、もう一方には ItemID と CustomerID があります。複数のアイテムを持つ顧客のみを表示できるように、テーブルを結合しようとしています。

言い換えれば、私が持っていた場合:

TABLE 1
ItemID---DatePurchased
   1         MAR15
   2         JUN10
   3         APR02

TABLE 2
ItemID---CustomerID
  1          1
  2          1
  3          2

私はこれを返したいと思います:

TABLE 3
ItemID--DatePurchased--CustomerID
  1          MAR15         1
  2          JUN10         1

(顧客 2 はアイテムが 1 つしかないため除外されます (ItemID=3))。

SQLでこれを行う方法についてのアイデアはありますか?

4

2 に答える 2

1
select ItemID, DatePurchased, CustomerID
from
 (
   select
      T1.ItemID, T1.DatePurchased, T2.CustomerID, 
      count(*) over (partition by T2.CustomerId) as ItemCnt
   from TABLE2 T2
      join TABLE1 T1 on T1.ItemID = T2.ItemID
 ) dt
 where ItemCnt > 1
于 2013-08-22T18:58:57.483 に答える