1

2つのテーブル(Table_Aおよび)があり、それらを結合するためTable_Bに使用している場合、複数回 の行と結合した行LEFT JOINのみをフィルタリングするにはどうすればよいですか?DBフレーバー:TeradataTable_BTable_A

4

4 に答える 4

1

私が間違っていなければ、Teradataはウィンドウ関数をサポートしているので、これはうまくいくかもしれません:

select *
from (
  select a.*, 
         b.*
         count(*) over (partition by a.MyCol) as cnt
  from Table_A a
     left join Table_B b ON a.MyCol = b.MyCol 
  where ... -- Conditions
) t
where cnt > 1

(未検証)

于 2013-03-25T09:32:20.313 に答える
1

承認された回答のTeradata固有のバージョンは次のとおりです。

select a.*, 
       b.*
from Table_A a
left join Table_B b 
ON a.MyCol = b.MyCol 
where ... -- Conditions
QUALIFY count(*) over (partition by a.MyCol) > 1

QUALIFYこれは、ANSI標準のTeradata拡張機能(およびその便利な拡張機能)であることに注意してください。

于 2013-03-25T20:32:37.480 に答える
0

それはあなたのための助けかもしれません

1) you can used INNER JOIN .
2) you can also check joind row is not null or blank . 
于 2013-03-25T09:06:51.393 に答える
0
Select a.*,b.* from Table_A a
left join Table_B b on condition
HAVING COUNT(DISTINCT a.value)>1

必要な編集を行い、確認します

于 2013-03-25T09:07:53.350 に答える