0

1 つの列の値を共有するすべてのレコードを、一連の WHERE 条件によって識別される個別のレコード セットから取得する 2 つの方法を見つけました。(クエリの例は非常に明確です...)

よりシンセティックな 3 番目の方法を知っていますか? たぶん分析機能を使用していますか?

select a.grup_gruppo_id 
 FROM conf_gruppi_delim a, conf_gruppi_delim b, conf_gruppi_delim c 
 WHERE     a.ASTG_ASSE_TIPO_GRUPPO_ID = 'BASE_TSC'
       AND a.TGAS_TIPGRUPDETT_ASSI_ID = 'C5JqJeruozekiQtN'
       AND a.DELI_VALORE1 = '1RWOoegWqEdL9Vch'
       AND a.DELI_FLAG_ANN = 'N'
       --
       AND b.ASTG_ASSE_TIPO_GRUPPO_ID = 'TIPI_MERCATO'
       AND b.TGAS_TIPGRUPDETT_ASSI_ID = '_tgas_time_f'
       AND b.DELI_VALORE1 = 'ZFLIB'
       AND b.DELI_FLAG_ANN = 'N'
       --
       AND c.ASTG_ASSE_TIPO_GRUPPO_ID = 'SEQUENZA'
       AND c.TGAS_TIPGRUPDETT_ASSI_ID = '_tgas_sefm_f'
       AND c.DELI_VALORE1 = 'LE8IZjuiOHVtxAwi'
       AND c.DELI_FLAG_ANN = 'N'
       --
       AND A.GRUP_GRUPPO_ID = b.GRUP_GRUPPO_ID
       AND b.GRUP_GRUPPO_ID = c.GRUP_GRUPPO_ID 




SELECT GRUP_GRUPPO_ID
  FROM conf_gruppi_delim a
 WHERE     ASTG_ASSE_TIPO_GRUPPO_ID = 'BASE_TSC'
       AND TGAS_TIPGRUPDETT_ASSI_ID = 'C5JqJeruozekiQtN'
       AND DELI_VALORE1 = '1RWOoegWqEdL9Vch'
       AND DELI_FLAG_ANN = 'N'
INTERSECT
SELECT GRUP_GRUPPO_ID
  FROM conf_gruppi_delim a
 WHERE     ASTG_ASSE_TIPO_GRUPPO_ID = 'TIPI_MERCATO'
       AND TGAS_TIPGRUPDETT_ASSI_ID = '_tgas_time_f'
       AND DELI_VALORE1 = 'ZFLIB'
       AND DELI_FLAG_ANN = 'N'
INTERSECT
SELECT GRUP_GRUPPO_ID
  FROM conf_gruppi_delim a
 WHERE     ASTG_ASSE_TIPO_GRUPPO_ID = 'SEQUENZA'
       AND TGAS_TIPGRUPDETT_ASSI_ID = '_tgas_sefm_f'
       AND DELI_VALORE1 = 'LE8IZjuiOHVtxAwi'
       AND DELI_FLAG_ANN = 'N'
4

1 に答える 1