2016-09-16 142 views
-5

我设计了一个名为'customerdetails'的表。直到现在还没有数据输入到它。 任何人都可以建议我任何SQL查询拆分列'customeradd'。柱为3个子列,以便它看起来像这样在模式: -需要SQL查询才能将列拆分为3列

'customeradd'

| A | B | C | 
| | | | 

A,B,C是customeradd

+1

的3分个子列它最初是如何存储在哪里? –

+0

1)将你的实际设计分解为1NF 2)这是一个好主意2)有哪些数据会在那里(例如!)。如何在不知道数据的情况下提出拆分方法? 3)如果没有输入数据,为什么不放弃这个并从头开始正确地开始? – Shnugo

+0

添加更多详细信息,表中的值是什么,以及您想要在分割的列中插入什么值 – dhS

回答

0
I tried like this 

CREATE TABLE #A 
(
CUSTOMERADD VARCHAR(MAX) 
) 
INSERT INTO #A VALUES 
(
'| A | B | C | | | | |') 



SELECT * 
FROM 
(SELECT IDX = LEFT(CUSTOMERADD,1) 
     , CUSTOMERADD 
     , RN = ROW_NUMBER() OVER (PARTITION BY LEFT(CUSTOMERADD,1) ORDER BY CUSTOMERADD) 
    FROM 
    (VALUES ('A'),('B'),('C')) 
    V(CUSTOMERADD) 
) DAT 
PIVOT 
(MAX(CUSTOMERADD) 
    FOR IDX IN ([A],[B],[C]) 
) P   
+0

嗨,这个SQL查询给我ORA-00922--缺少或无效的选项,错误。我已经检查过它的语法和它的外观。请帮忙。 –

+0

此代码可以在MSSQL中接受.... – Chanukya