2014-10-03 62 views
1

我承認,問題的標題很奇怪,但我不知道如何更好地表達它。根據數字生成相關記錄的數量

我會盡力解釋我需要什麼。

我有一個包含定期檢驗的編號爲合同表,合同開始日期

例如

ContractID Start Date  No. Inspections 
    1   2014/1/1    4 
    2   2014/1/1    3 

我需要做的是建立一個選擇返回一行對每個定檢和其計劃的開始日期,例如:

ContractID Start Date  Inspection No  Inspection Start date 
    1   2014/1/1    1    2014/1/1 
    1   2014/1/1    2    2014/1/3 
    1   2014/1/1    3    2014/1/6 
    1   2014/1/1    4    2014/1/9 
    2   2014/1/1    1    2014/1/1 
    2   2014/1/1    2    2014/1/4 
    2   2014/1/1    3    2014/1/8 

我可以用一個while循環的SP生成一個臨時表,加入與主表,但我不知道是否有僅基於選擇另一種方式。 (請忽略結果的檢驗開始日期列,這只是爲了使結果更容易理解 - 什麼,我需要的是前三欄實際上)

謝謝

+1

這個額外的列是如何使它更容易理解? – Paparazzi 2014-10-03 21:20:39

回答

3

你可以,如果編號使用master.spt_values永遠不要太大:

select t.contractid, t.startdate, n.number as inspectionnum 
from table t join 
    master.spt_values n 
    on n.number <= t.numinspections; 
相關問題