0
に特定の条件に基づいてテーブルデータを取得する:私はemp_id.Ifのグループごとに分(EMP_SAL)を見つける必要があるテラでSQLを記述する必要Iデータ以下のテーブルを持っているテラ
emp_id | emp_sal | emp_grp
1 5 HMCCR
1 10 HMCPR
1 20 HMCPR
1 30 HMCPR
1 40 HMCRR
2 40 HMCRR
2 50 HMCCR
emp_idの1つ以上の行にはemp_grp = 'HMCPR'があり、それらの行のみを保持し、emp_salのminをとります。 emp_grp = 'HMCPR'の行がなく、そのグループからemp_salのminを取っていないときは何もしないでください。
あなたが混乱している場合は、お詫び申し上げます。上記の条件に基づいて、私の出力は次のようになります。
emp_id | emp_sal | emp_grp
1 10 HMCPR
2 40 HMCRR
私は、クエリの下にしようとしたが、私はEMP_IDでグループを使用すると、それはグループごとに分(EMP_SAL)を与える、emp_grp
sel
emp_id,
case when emp_grp='HMCPR' then min(emp_sal)
else min(emp_sal) end emp_sal, emp_grp
from db_wrk.emp_sin
group by emp_id, emp_grp
は誰でも助けることができます私はteradataで期待される結果を得るために
ありがとうございました!!!その作業は – user1768029
です。Teradataには、OLAP関数の結果を直接フィルタリングするSQL拡張( 'HAVING')があります。' select * from db_wrk.emp_sin qualify row_number()over(emp_idを使ったパーティション order emp_grp = 'HMCPR'の場合は0、それ以外の場合は1、emp_sal)= 1' – dnoeth