0

2 つのテーブルに 2 つのフィールドがあります。status (status VARCHAR(80) CHARACTER SET LATIN CASESPECIFIC) 値が「成功」であるため、1 つのテーブルには 1000 のステータスがあります。2 つのテーブルを結合し、2 番目のテーブル (dw_status_id) から値を取得したい

1ST TABLE Scratch.COGIPF_RUNREPORT_test

STATUS    |  any_number
success   |    67
success   |    1
success   |    2
success   |    3
success   |    42
success   |    52
failure   |    45

2番目のテーブルscratch.dw_job_status_dim_test

status   |dw_status_id
failure  |34      
success  |12
running  |45

結果 :-

Status    |  dw_status_id
success   |    12
success   |    12
success   |    12
success   |    12
success   |    12
success   |    12
failure   |    34

私が使用しているクエリ:-

sel b.dw_status_id from scratch.COGIPF_RUNREPORT_test a
join scratch.dw_job_status_dim_test b on trim(a.status)=trim(b.status)

実績=0

誰かがこれを達成するのを助けることができれば、それは非常に素晴らしいことです

ありがとう

4

2 に答える 2

0

これらは最初のテーブルからの 3 つのレコードです:-

期日までに出荷 メトリクス-スーパーラッシュ 0 0 0 0 2018-03-07 01:40:08 2018-03-07 00:00:00 2018-03-07 01:41:46.917000 1.64101666667 成功

ラボ - 出荷遅延の詳細 0 0 0 0 2018-03-07 01:40:08 2018-03-07 00:00:00 2018-03-07 01:40:44.950000 0.6078 成功

出荷アップグレード-tp/wpd/mypub 0 0 0 0 2018-03-07 01:40:09 2018-03-07 00:00:00 2018-03-07 01:40:25.028000 0.2674 成功

これらは2番目のテーブルからのいくつかのレコードです

dw_status_id ステータスの説明 success_indicator

10 実行中 実行中 0

11 停止 停止 0

12 成功 SUCCESS 1

私はあなたの2つのクエリを試しました..両方とも結果がありません。理想的には、望ましい結果が得られるはずです。しかし、どういうわけか、特定の join または varchar のケースで間違いを犯しています。

于 2018-03-08T08:30:11.187 に答える