잘 대단히 감사합니다, 당신은 단지 2가, 내가 구현 된 솔루션을 공유 할 수 있습니다 추측 : 당신의 TABLENAME와
이 (MyTable
교체를하고, 찾기 및 모든 필드 이름을 올바른 것으로 바꿉니다.) :
SELECT * Into NewTable FROM (
SELECT Author, IIf(InStr(1, [Books], ',') = -1, [Books], Left([Books], InStr(1, [Books], ',') - 1)) As Book
FROM MyTable
WHERE IIf(InStr(1, [Books], ',') = -1, [Books], Left([Books], InStr(1, [Books], ',') - 1)) <> ""
UNION ALL
SELECT Author, IIf(InStr(1,[Books],',')> 0, IIf(InStr(InStr(1,[Books],',') + Len(','), [Books] , ',') < 1, Mid([Books], InStr(1,[Books],',') + Len(',')), Mid([Books], InStr(1,[Books],',') + Len(','), InStr(InStr(1,[Books],',') + Len(','), [Books] , ',') - InStr(1,[Books],',') - Len(','))), "") As Book
FROM MyTable
WHERE IIf(InStr(1,[Books],',')> 0, IIf(InStr(InStr(1,[Books],',') + Len(','), [Books] , ',') < 1, Mid([Books], InStr(1,[Books],',') + Len(',')), Mid([Books], InStr(1,[Books],',') + Len(','), InStr(InStr(1,[Books],',') + Len(','), [Books] , ',') - InStr(1,[Books],',') - Len(','))), "") <> ""
UNION ALL
SELECT Author, IIf(InStr(InStr(1,[Books],',') + Len(','), [Books],',')> 0, IIf(InStr(InStr(InStr(1,[Books],',') + Len(','), [Books],',') + Len(','), [Books] , ',') < 1, Mid([Books], InStr(InStr(1,[Books],',') + Len(','), [Books],',') + Len(',')), Mid([Books], InStr(InStr(1,[Books],',') + Len(','), [Books],',') + Len(','), InStr(InStr(InStr(1,[Books],',') + Len(','), [Books],',') + Len(','), [Books] , ',') - InStr(InStr(1,[Books],',') + Len(','), [Books],',') - Len(','))), "") As Book
FROM MyTable
WHERE IIf(InStr(InStr(1,[Books],',') + Len(','), [Books],',')> 0, IIf(InStr(InStr(InStr(1,[Books],',') + Len(','), [Books],',') + Len(','), [Books] , ',') < 1, Mid([Books], InStr(InStr(1,[Books],',') + Len(','), [Books],',') + Len(',')), Mid([Books], InStr(InStr(1,[Books],',') + Len(','), [Books],',') + Len(','), InStr(InStr(InStr(1,[Books],',') + Len(','), [Books],',') + Len(','), [Books] , ',') - InStr(InStr(1,[Books],',') + Len(','), [Books],',') - Len(','))), "") <> ""
)
몇 개의 레코드가 있습니까? –
1000 이상, 수동으로 할 수있는 너무 많은 –
[SQL 분할 열은 하나 이상의 가능한 구분 기호를 기반으로하고 새 테이블에 삽입 할 수 있습니다] (https://stackoverflow.com/questions/47014018/sql-split- 열 기반의 1 또는 더 많은 가능한 구분 기호 - 및 - 삽입 새 테이블) (내가 말했듯이, 당신은 VBA를 사용해야하거나 쉼표의 꽤 제한된 금액을 가지고 (2는 행할 수 있고, 더 많은 문제가 있습니다.) –