0

顧客の注文があるテーブルがあります。顧客の複数のレコードを含めることができます。年齢、地域、性別など、顧客に関する詳細または機能を含む別のテーブルがあります。このテーブルには、テーブルごとに複数のレコードがあります。ただし、顧客機能ごとに 1 つのレコードのみです。お気に入り

cust_id, feature_id, value ; 
cust_id, feature_id, vaule; 
cust_id, feature_id, value. 
...
...
etc.

cust_id と feature_id はテーブルの主キーです。たとえば、性別の feature_id は 200、年齢の feature_id は 201、地域の feature_id は 230 などとします。

これで、一部の人口統計の顧客の総数を示すレポートを作成しました。そこで、次のクエリを書きました。

SELECT * 
FROM   CUST_ORDER co 
       JOIN FEATURE_VALUES fv 
         ON fv.CUST_ID = co.CUST_ID 
WHERE  ( fv.FEATURE_ID = 200 
         AND fv.VALUE = 1 ) 
       AND ( fv.FEATURE_ID = 201 
             AND fv.VALUE > 25 ) 
       AND ( fv.FEATURE_ID = 230 
             AND fv.VALUE > 3 ) 

これはレコードを返しません。理由はわかっていますが、結果を取得する方法がわかりません。助けや指示をいただければ幸いです。

ここにいくつかのサンプルデータがあります

1   200 1   
1   201 40
1   230 3
2   200 2   
2   201 27
2   230 2
etc

ありがとう

4

1 に答える 1