2015-10-19 54 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;