I'm hoping I can find a better way to do this. I've tried this with a join with multiple 'OR' statements (I know it's terrible), and with multiple joins as shown below.
SELECT ICD_CODE1, ICD_CODE2, ICD_CODE3, icd1.DESCRIPTION AS ICD_DESCRIPTION1, icd2.DESCRIPTION AS ICD_DESCRIPTION2, icd3.DESCRIPTION AS ICD_DESCRIPTION3 FROM ICD_CODES LEFT OUTER JOIN ICD_DECRIPTIONS AS icd1 ON ICD_CODES.ICD_CODE1 = icd1.ICD_CODE LEFT OUTER JOIN ICD_DECRIPTIONS AS icd2 ON ICD_CODES.ICD_CODE2 = icd2.ICD_CODE LEFT OUTER JOIN ICD_DECRIPTIONS AS icd3 ON ICD_CODES.ICD_CODE3 = icd3.ICD_CODE
This takes place in a much larger dataset and is terribly slow. There are other fields that need a similar style join so I'm hoping someone can help me optimize.