2017-02-03 3 views
0

私はSQLクエリで新しいです。私は、HANA Expressで2つのテーブルを結合し、1つのテーブルの2つのカラムの最大値を取得し、別のテーブルと結合する予定です。ここではシナリオです:列の最大値を取得して別のテーブルと結合する

Table A 
+-----+----------------+ 
| Key |  Value  | 
+-----+----------------+ 
| 1 | Value is 1  | 
| 2 | Value is 2  | 
| 3 | Value is 3  | 
+-----+----------------+ 

Table B 
+-----+----------------------------+------+ 
| Seq |   Timestamp   | Key | 
+-----+----------------------------+------+ 
| 500 | Feb 3, 2017 6:35:59.742 PM | 1 | 
| 501 | Feb 3, 2017 6:35:59.742 PM | 2 | 
| 502 | Feb 3, 2017 6:36:05.758 PM | 2 | 
| 503 | Feb 3, 2017 6:36:05.758 PM | 4 | 
| 504 | Feb 3, 2017 6:36:05.758 PM | 3 | 
| 505 | Feb 3, 2017 6:36:09.766 PM | 5 | 
+-----+----------------------------+------+ 

output table 
+-----+------------+--------+----------------------------+--------------------------------+ 
| Key | Value | MaxSeq |  LatestTimeStamp  |   ExecutionTime   | 
+-----+------------+--------+----------------------------+--------------------------------+ 
| 1 | Value is 1 | 505 | Feb 3, 2017 6:36:09.766 PM | (execution time of this query) | 
| 2 | Value is 2 | 505 | Feb 3, 2017 6:36:09.766 PM | (execution time of this query) | 
| 3 | Value is 3 | 505 | Feb 3, 2017 6:36:09.766 PM | (execution time of this query) | 
+-----+------------+--------+----------------------------+--------------------------------+ 

は、だからここMAXSEQは、テーブルB内のSeq列の最大値になりますとLatestTimeStampは、テーブルBのタイムスタンプ列の最新のタイムスタンプで、それらの両方が結合されたテーブルで一定になります。実行時間は、から計算され、HANAで機能します。それは可能ですか?

+0

と 'ExecutionTime'?それがどのように計算されるかを説明するか、質問から取り除く。ありがとう、 –

+0

実行時間の説明が追加されました。 –

答えて

0

これを試してみてください:

select a.Key, a.Value, 
(select max(Seq) from TableB) MaxSeq, 

(選択最大TableBのから(タイムスタンプ))LatestTimestamp C、??? TableAのさらに良い

からEXECUTIONTIME :

select a.Key, a.Value, b.MaxSeq, b.LatestTimestamp , 
Current_Timestamp - b.LatestTimestamp Executiontime 
from TableA, 
(select max(Seq) MaxSeq, max(Timestamp) LatestTimestamp from TableB) b 
+0

ありがとうございますが、このクエリは各キー値に対して最大seqを生成しています。定数であるテーブルbのseqカラムの最大値ではない –

+1

私は、あなたがすべてのキーに最大値を必要とせず、テーブルの最大値を求めています。なぜそれが欲しいのか分かりませんが、それに応じて私の答えを編集します。 – MikeS

+0

完璧!ありがとう、トン! –

関連する問題