我正在將數據從一個數據庫遷移到另一個數據庫以用於醫院。在舊的數據庫中,醫生的專業ID全部位於一列(swvar_specialties)中,每個都用逗號分隔。在新的數據庫中,每個專業ID都會有自己的專欄(例如:專業1_PrimaryID,專業2_PrimaryID,專業3_PrimaryID等)。我正試圖從舊數據庫中導出數據,並將這些數據分隔到這些單獨的列中。我知道我可以使用indexof
和substring
來做到這一點 - 我只需要語法幫助。使用IndexOf和/或Substring將數據解析到單獨的列中
所以這個查詢:
Select swvar_specialties as Specialty1_PrimaryID
From PhysDirectory
可能會返回類似於39,52,16的結果。我需要此查詢在結果中顯示Specialty1_PrimaryID = 39
,Specialty2_PrimaryID = 52
和Specialty3_PrimaryID = 16
。以下是我迄今爲止的查詢。我最終會加入從專業表中提取專業名稱。我只需要先解決這個問題。
Select pd.ref as PrimaryID, pd.swvar_name_first as FirstName, pd.swvar_name_middle as MiddleName,
pd.swvar_name_last as LastName, pd.swvar_name_suffix + ' ' + pd.swvar_name_degree as NameSuffix,
pd.swvar_birthdate as DateOfBirth,pd.swvar_notes as AdditionalInformation, 'images/' + '' + pd.swvar_photo as ImageURL,
pd.swvar_philosophy as PhilosophyOfCare, pd.swvar_gender as Gender, pd.swvar_specialties as Specialty1_PrimaryID, pd.swvar_languages as Language1_Name
From PhysDirectory as pd
只有一個評論,但專業的多列不是第3範式。應該有DrID,SpecialtyID表,Dr博士可以有零或許多專業。 – Paparazzi 2013-04-30 19:28:07