2

l.loandeterminationscore3 つの # (XXX) で構成される結果を返すテーブル ( ) があります。以下のクエリを使用して結果を aLowRangeと aに分けHighRange、返された結果を 1 つの結果 "XXX-XXX" にグループ化できるようにします。

SELECT 
    l.LoanNumber,
    l.LoanDeterminationScore 'FICO', 
    FLOOR (l.LoanDeterminationScore / 20) * 20 AS LowRange,
    FLOOR (l.loanDeterminationScore / 20) * 20 + 19 AS HighRange
FROM 
    loan.LoanQA l
WHERE
    l.FundedDate = '10/15/2013'

上記から返された結果は、次のようなものです。

LoanNumber FICO LowRange HighRange
-----------------------------------
592301428  604  600      619
220300002  640  640      659
414805244  675  660      679

上記をandFICOを使用して 20pt の範囲にグループ化しようとしています。要するに、2 つの列を持つのではなく、 「600-619」、「640-659」、「660-679」の範囲を示す 1 つの列として返されるようにしたいと考えています。LowRangeHighRangeLowRangeHighRange

表現しようとしましたCONCATが、「構文」エラーが継続的に発生します。

4

1 に答える 1

1

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

SELECT 
    l.LoanNumber,
    l.LoanDeterminationScore 'FICO', 
    CAST(FLOOR (l.LoanDeterminationScore / 20) * 20 AS VARCHAR(10)) + '-' +
    CAST(FLOOR (l.loanDeterminationScore / 20) * 20 + 19 AS VARCHAR(10)) AS 'Range' 
FROM 
    loan.LoanQA l
WHERE
    l.FundedDate = '10/15/2013'

CAST数値だけを文字列型にし、 で連結+すれば完了です!

于 2013-10-17T13:45:45.873 に答える