2015-10-19 18 views
1

我有一個字符串表:拆分兩個字符串成一排SQL(訪問)

Field1 
150120154030 
201012 

我想從兩個字符串行數據插入到像這樣的表:

F1   F2 F3 F4 F5 F6 
15012015 40 30 20 10 12 

任何幫助寫這個查詢?

+2

請添加完整的樣本數據,根據您目前的資料;問題不清楚;)。 –

+0

你可以請你添加一些更多的實例和你的例子的數據來提出一個解決方案...如果你的表只有這兩行,那麼你可以做下面的事情......選擇substr(feild1,1,8)作爲f1,substr (feild1,9,2)作爲f2,substr(feild1,10,2)作爲f3,substr(field2,1,2)作爲f4,substr(field2,3,2) from( select feild1,( select field1作爲f1 來自表 限定row_number()over(由feild1按字段1排序的分區)= 2)作爲字段2來自表的 )z; –

+0

那麼你到目前爲止嘗試過什麼? – Japongskie

回答

1

如何過你的問題不清楚,我能想到的這樣的查詢:

SELECT 
    MAX(IIF(Field1 = '150120154030', P1, '')) As F1, 
    MAX(IIF(Field1 = '150120154030', P2, '')) As F2, 
    MAX(IIF(Field1 = '150120154030', P3, '')) As F3, 
    MAX(IIF(Field1 = '201012', P1, '')) As F4, 
    MAX(IIF(Field1 = '201012', P2, '')) As F5, 
    MAX(IIF(Field1 = '201012', P3, '')) As F6 
FROM (
    SELECT 
     Field1, 
     MID(Field1, 1, LEN(Field1) - 4) As P1, 
     MID(Field1, LEN(Field1) - 3, 2) As P2, 
     MID(Field1, LEN(Field1) - 1, 2) As P3 
    FROM yourTable) DT;