Calculate the true range using SQL Server 2014
<p>I am trying to calculate the true range from the table below.</p>

<pre><code>TIME                    BID-OPEN    BID-HIGH    BID-LOW BID-CLOSE 
1993-05-09 21:00:00.000 1.5786      1.5786      1.5311  1.5346
1993-05-10 21:00:00.000 1.5346      1.5551      1.5326  1.5391
1993-05-11 21:00:00.000 1.5391      1.5521      1.5299  1.5306
1993-05-12 21:00:00.000 1.5306      1.5451      1.5106  1.5256
1993-05-13 21:00:00.000 1.5256      1.5416      1.5211  1.5361
</code></pre>

<p>So far I have managed to do this:</p>

<pre><code>SELECT 
   t.Time, 
   Round([BID-HIGH]-[BID-LOW],5) 
   AS [H-L], 
   Abs(Round([BID-HIGH]-[prev_BID-CLOSE],5)) 
   AS [H-Cp], 
   Abs(Round([BID-LOW]-[prev_BID-CLOSE],5))
   AS [L-Cp]
  FROM (SELECT t.*, 
       (select top 1 [BID-CLOSE] 
        from [GBP-USD].[dbo].[tbl_GBP-USD_1-Day] t2 
        where t2.[TIME] &lt; t.[TIME] order by t2.[TIME] desc) 
  AS [prev_BID-CLOSE] 
  FROM [GBP-USD].[dbo].[tbl_GBP-USD_1-Day] AS t)  AS t;
</code></pre>

<p>Which gives me:</p>

<pre><code>Time                    H-L     H-Cp    L-Cp
1993-05-09 21:00:00.000 0.0475  NULL    NULL
1993-05-10 21:00:00.000 0.0225  0.0205  0.002
1993-05-11 21:00:00.000 0.0222  0.013   0.0092
1993-05-12 21:00:00.000 0.0345  0.0145  0.02
1993-05-13 21:00:00.000 0.0205  0.016   0.0045
1993-05-16 21:00:00.000 0.0216  0.0173  0.0043
1993-05-17 21:00:00.000 0.0208  0.009   0.0118
</code></pre>

<p>I now need the MAX value from [H-L] [H-Cp] [L-Cp] fields which would give a query table like this:</p>

<pre><code>Time                    H-L     H-Cp    L-Cp   TR
1993-05-09 21:00:00.000 0.0475  NULL    NULL   0.0475
1993-05-10 21:00:00.000 0.0225  0.0205  0.002  0.0225
1993-05-11 21:00:00.000 0.0222  0.013   0.0092 0.0222
1993-05-12 21:00:00.000 0.0345  0.0145  0.02   0.0345
1993-05-13 21:00:00.000 0.0205  0.016   0.0045 0.0205
1993-05-16 21:00:00.000 0.0216  0.0173  0.0043 0.0216
1993-05-17 21:00:00.000 0.0208  0.009   0.0118 0.0208
</code></pre>

<p>The data above is only a very small snipping, so in this example the MAX value is always the [H-L] field, however this does change.</p>

<p>I need a way of querying the query, but within the same query : )</p>

<pre><code>(SELECT MAX(v)
  FROM (VALUES([H-L]),([H-Cp]),([L-Cp])) AS value(v)) AS [TR]
</code></pre>