私は、エントリのタイプに基づいて2つの日付の差を計算する必要がある基本テーブルを持っています。あるテーブルの値を別のテーブルの列ヘッダーとして考慮する
TBLA
+----------+------------+---------------+--------------+
| TypeCode | Log_Date | Complete_Date | Pending_Date |
+----------+------------+---------------+--------------+
| 1 | 18/04/2016 | 19/04/2016 | |
| 2 | 10/04/2016 | 18/04/2016 | 15/04/2016 |
| 3 | 12/04/2016 | 19/04/2016 | |
| 4 | 15/04/2016 | 17/04/2016 | 16/04/2016 |
| 5 | 16/04/2016 | 21/04/2016 | |
| 1 | 19/04/2016 | 20/04/2016 | |
| 2 | 20/03/2016 | 31/03/2015 | |
| 3 | 25/03/2016 | 28/03/2016 | |
| 4 | 26/03/2016 | 27/03/2016 | |
| 5 | 27/03/2016 | 30/03/2016 | |
+----------+------------+---------------+--------------+
私は別ののTypeCodeに基づいて検討されるべき列名を持つルックアップテーブルを持っています。
TBLB
+----------+----------+---------------+
| TypeCode | DateCol1 | DateCol2 |
+----------+----------+---------------+
| 1 | Log_Date | Complete_Date |
| 2 | Log_Date | Pending_Date |
| 3 | Log_Date | Complete_Date |
| 4 | Log_Date | Pending_Date |
| 5 | Log_Date | Complete_Date |
+----------+----------+---------------+
私は私の計算のための2つの日付の間の単純なDATEDIFF
をしています。しかし、この計算で考慮する列をtblB
から検索し、TypeCode
に基づいてtblA
に適用したいと考えています。表を得られ
:
例えば:TypeCode
は2
又は4
である場合、計算はDATEDIFF(d, Log_Date, Pending_Date)
なければならない、そうでなければDATEDIFF(d, Log_Date, Complete_Date)
+----------+------------+---------------+--------------+----------+
| TypeCode | Log_Date | Complete_Date | Pending_Date | Cal_Days |
+----------+------------+---------------+--------------+----------+
| 1 | 18/04/2016 | 19/04/2016 | | 1 |
| 2 | 10/04/2016 | 18/04/2016 | 15/04/2016 | 5 |
| 3 | 12/04/2016 | 19/04/2016 | | 7 |
| 4 | 15/04/2016 | 17/04/2016 | 16/04/2016 | 1 |
| 5 | 16/04/2016 | 21/04/2016 | | 5 |
| 1 | 19/04/2016 | 20/04/2016 | | 1 |
| 2 | 20/03/2016 | 31/03/2015 | | |
| 3 | 25/03/2016 | 28/03/2016 | | 3 |
| 4 | 26/03/2016 | 27/03/2016 | | |
| 5 | 27/03/2016 | 30/03/2016 | | 3 |
+----------+------------+---------------+--------------+----------+
任意の助けが理解されるであろう。ありがとう。 CASE
式で
関連するテーブルDDL、所望の結果が含まれるようにあなたの質問を編集してください。 –
caseステートメントを使用します。ケース1のときのタイプコードは2の時などに完了します –
@ ZoharPeled:提案していただきありがとうございます。 – Shanka