2013-11-15 79 views
0

我有這個表:MS SQL服務器:創建基於列的值序列

表:城市

City  NumberOfSchools 
------------------------------ 
    SCL   3 
    Blah   5 
    Narf   2 
      ....  

我可以使用哪些查詢(即TRANSACTSQL與否)創建表X?

表:X

City  Sequence 
------------------------------ 
    SCL   1 
    SCL   2 
    SCL   3 
    Blah   1 
    Blah   2 
    Blah   3 
    Blah   4 
    Blah   5 
    Narf   1 
    Narf   2 
      ....  
+1

詢問代碼的問題必須證明對所解決問題的最小理解。包括嘗試解決方案,以及爲什麼他們不工作。 – Kermit

+0

如果我不知道如何在純SQL中執行此操作(SELECT,INSERT,UPDATE),如何包含嘗試的解決方案?我知道如何使用像Java或C#這樣的語言來執行此操作,並使用諸如while,for等的循環。 – sports

+0

本網站的要點是,如果您要求提供代碼,那麼您將顯示最少的努力。 – Kermit

回答

4

試試這個:

SELECT A.City, B.number Sequence 
FROM Cities A 
CROSS JOIN (SELECT * 
      FROM master.dbo.spt_values 
      WHERE type = 'P' 
      AND number > 0) B 
WHERE B.number <= A.NumberOfSchools 

Here is an sqlfiddle給你試用。

+0

三張歡呼的數字表! –

+0

+1的答案 –

+0

卡邁勒+1! – Kermit