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