| Author |
Topic |
|
NguyenL71
Posting Yak Master
228 Posts |
Posted - 2009-11-24 : 11:03:10
|
| SQL 2005.I have a table store the state name and I want to convert into column. Please see the result below.Thanks in advance.IF OBJECT_ID('Tempdb.dbo.#License', 'u') IS NOT NULL DROP TABLE #LicenseGOCREATE TABLE #License( LicenseId INT NULL, LicenseState VARCHAR(100) NULL)goINSERT #License VALUES (1, 'AK, CA, FL, LA, NJ')INSERT #License VALUES (2, 'CA, DE, AZ, LA, NJ, NM')INSERT #License VALUES (3, 'CA, NY, NV, PA, OH, ND, MS, VT, WI')INSERT #License VALUES (4, 'MI, CO, FL, AL')INSERT #License VALUES (5, 'KY, MO, IA, AK, NV')INSERT #License VALUES (6, 'NH, MT, OR')INSERT #License VALUES (7, 'GA, IA')INSERT #License VALUES (8, 'CA, NE, OH, NC, WI')go SELECT * FROM #License; -- Result want:LicenseId LicenseState---------- ------------1 AK1 CA1 FL1 LA1 NJ2 CA2 DE2 AZ2 LA2 NJ2 NM3 ......8 CA8 NE8 OH8 NC8 WI StateId StateCd StateName----------- ------- ----------------------2 AK Alaska1 AL Alabama3 AZ Arizona4 AR Arkansas5 CA California6 CO Colorado7 CT Connecticut9 DC District of Columbia8 DE Delaware10 FL Florida12 GA Georgia11 HI Hawaii16 IA Iowa13 ID Idaho14 IL Illinois15 IN Indiana17 KS Kansas18 KY Kentucky19 LA Louisiana22 MA Massachusetts21 MD MaryLand20 ME Maine23 MI Michigan24 MN Minnesota26 MO Missouri25 MS Mississippi27 MT Montana34 NC North Carolina35 ND North Dakota28 NE Nebraska30 NH New Hampshire31 NJ New Jersey32 NM New Mexico29 NV Nevada33 NY New York36 OH Ohio37 OK Oklahoma38 OR Oregon39 PA Pennsylvania40 RI Rhode Island41 SC South Carolina42 SD South Dakota43 TN Tennessee44 TX Texas45 UT Utah47 VA Virginia46 VT Vermont48 WA Washington50 WI Wisconsin49 WV West Virginia51 WY Wyoming(51 row(s) affected) |
|
|
TG
Master Smack Fu Yak Hacker
6065 Posts |
Posted - 2009-11-24 : 15:42:11
|
one good way is to use a table-valued function to parse a delimited list. assuming you have function called [fnParseCSV] you can call it like this:SELECT l.licenseid, ca.valFROM #License lcross apply dbo.fnParseCSV(LicenseState, ',') ca Search here for "CSV", or "Split Functions"EDIT:of course the best way is to change you model so you store one value per row.Be One with the OptimizerTG |
 |
|
|
|
|
|