1

列 id、low、high を持つテーブル SUB_Inst があります。低から高までの各数値のレコードを含む新しい列を返す低数値と高数値をクエリするにはどうすればよいですか?

    Current table SUB_Inst
    id  low High
    1   55  63
    2   232 234
    3   4   7
    etc.

望ましい結果

    id    low    High   Num_list
    1     55     63     55
    1     55     63     56
    1     55     63     57
    1     55     63     58
    1     55     63     59
    1     55     63     60
    1     55     63     61
    1     55     63     62
    1     55     63     63
    2     232    234    232
    2     232    234    233
    2     232    234    234
    3     4      7      4
    3     4      7      5
    3     4      7      6
    3     4      7      7
    etc.

私はこのようなことを試しました:

    SELECT Low, HIGH,
    (SELECT CAST(number as varchar)+','
    FROM NUMBERS
    WHERE number >= Low and number <= High 
    FOR XML PATH(''))
    FROM SUB_Inst

しかし、次のように 1 つのフィールドにすべての数値を返しましたが、これは機能しません。

    Low       High             Num_List
    24   27         24,25,26,27,
    34   36         34,35,36,
    10   17         10,11,12,13,14,15,16,17,
    34   36         34,35,36,
    65   67         65,66,67,
    502      504        502,503,504,
    56   59         56,57,58,59,

ありがとうございました。

4

1 に答える 1

0

私はあなたがこれを望んでいると思います:

SELECT id,low,high,number as Num_List
FROM SUB_Inst , NUMBERS
where low<=number and high>=number 
于 2012-08-11T04:36:39.443 に答える