2017-12-21 8 views
0

です。私はsql/hqlを初めて使用しています。アドレスを見つけるためのHiveqlはヌルで、アドレスは

    Card_ID Mid  Address     
    ------ ----- ---------------   
    1000  201  MG Road,bangalore  
    1000  301  MG Road,bangalore  
    1000  401  null 
    1000  501  null 
    
    2000  205  Plot # 5, Indira Nagar, Delhi 
    
    2000  305  Plot # 5, Indira Nagar, Delhi    
    2000  405  null 
    
    3000  109  psk road 
    
    3000  809  psk road 
    

    これだけCard_idのは、複数のミッド

    要件を持って作成されたステージング表である:以下に説明するように、私はロジックをフレームに以下のハイブテーブルを持っています

  1. Card_idの中間アドレスがnullでなく、nullでないことを確認します(私のクライアントが見直すためには、この値のセットでテーブルを作成する必要があります)。
  2. 同じcard_ID

所望の出力の下で他の半ばアドレスをアドレス欄NULL値を入力します。あなたたちは私のために一歩一歩でHQL/SQLをフレームに助けることができるしてください

Card_ID Mid  Address     
------ ----- ---------------   
1000  201  MG Road,bangalore  
1000  301  MG Road,bangalore  
1000  401  MG Road,bangalore 
1000  501  MG Road,bangalore 

2000  205  Plot # 5, Indira Nagar, Delhi 

2000  305  Plot # 5, Indira Nagar, Delhi    
2000  405  Plot # 5, Indira Nagar, Delhi 

3000  109  psk road 

3000  809  psk road 

明日までに私のクライアントに上記のo/pを渡すことができるように私の理解。

+0

こんにちはすべて私のクライアントはこの要求を作成する必要がありますので、私のo/pのcaidsは1000と2000で3000ではありません。 – Ramya

答えて

1

あなたは窓関数としてmax()を使用することができます。今のところ、私は(私は、この値のセットでテーブルを作成する必要がヌルヌルとしてではなく、Card_idの持つ半ばアドレスを特定する必要があり、

select card_id, mid, 
     max(address) over (partition by card_id) 
from t; 
+0

ちょっとゴードン、クイックアップデートをありがとう..私はSQLには本当に新しいです。私のポストで編集されたSQLの手順について詳細を教えてください。 – Ramya

+0

Gordon、あなたが私のクライアントを見直すためにこの値のセットでテーブルを作成する必要があります。他の中間アドレス値が同じcard_idにあるアドレスヌル値 – Ramya

+0

@Raya。。新しい質問はコメントではなく* questions *としてください。 –

関連する問題