-1

idm_track3つの組み合わせを持つdw_dealer_idテーブルがあり、このテーブルを別のテーブルとこれら3つのテーブルを持つ別のテーブルに結合dw_program_idしたいのですが、このようなSQLを記述しようとしていまし たdw_product_idism_interactiondw_dealer_iddw_program_iddw_product_id

   SELECT    
      dw_itrack_id   
   FROM
     idm_itrack
   WHERE
      dw_dealer_id, 
      dw_product_id, 
      dw_program_type_id exists ( select  
                                   dw_dealer_id, 
                                   dw_product_id, 
                                   dw_program_type_id
                                    FROM IDM_INTERACTION_DTL_AGG

お知らせ下さい。

4

3 に答える 3

2

これが欲しいそうです。これにより、各フィールドで両方のテーブルが結合されます。

SELECT *
FROM idm_itrack t
LEFT JOIN IDM_INTERACTION_DTL_AGG i
  on t.dw_dealer_id = i.dw_dealer_id
  and t.dw_product_id = i.dw_program_id
  and t.dw_program_type_id = i.dw_program_type_id

JOIN構文を学習するのに助けが必要な場合は、 join の優れた視覚的な説明があります

LEFT JOINないレコードがある場合IDM_INTERACTION_DTL_AGG、一致するレコードは値を返しnullます。

両方に存在するレコードが必要な場合はINNER JOIN、テーブル間にを使用できます。

SELECT *
FROM idm_itrack t
INNER JOIN IDM_INTERACTION_DTL_AGG i
  on t.dw_dealer_id = i.dw_dealer_id
  and t.dw_product_id = i.dw_program_id
  and t.dw_program_type_id = i.dw_program_type_id
于 2012-12-21T15:53:51.227 に答える
1

参加するだけでいいのですが、

SELECT    
      a.dw_itrack_id   
   FROM
     idm_itrack a,IDM_INTERACTION_DTL_AGG b
   WHERE
      a.dw_dealer_id=b.dw_dealer_id and 
      a.dw_product_id=b.dw_product_id and
      a.dw_program_type_id=b.dw_program_type_id;
于 2012-12-21T15:54:33.987 に答える
0

これを試して:

SELECT    
    it.dw_itrack_id   
 FROM
   idm_itrack it INNER JOIN IDM_INTERACTION_DTL_AGG iida
 ON 
  it.dw_dealer_id = iida.dw_dealer_id AND
  it.dw_product_id =  iida.dw_product_id AND
  it.dw_program_type_id = iida.dw_program_type_id;
于 2012-12-21T15:56:34.483 に答える