Извините, если этот вопрос сбивает с толку, но я не был уверен, как еще это сформулировать.В настоящее время я работаю над запросом, где у меня есть список пациентов в медицинском учреждении, у которых есть определенные коды диагноза.Это довольно простой запрос:
SELECT [several patient demographic fields]
FROM Diagnosis
WHERE DiagnosisCode IN (a bunch of diagnosis codes)
Сам запрос работает нормально, но есть ряд пациентов, у которых есть несколько кодов из предложения WHERE, прикрепленных к их диаграмме, и каждый код заканчивается в новой строкепоэтому я получаю несколько результатов для каждого пациента с единственным различием в коде, например:
PatientID Name DiagnosisCode
------------------------------------------------
1001 John Smith 123.0
1001 John Smith ABC.0
1002 Jane Doe 456.1
1003 Bob Brown 789.0
1003 Bob Brown DEF.1
1003 Bob Brown XYZ.0
Я могу работать с этим достаточно легко, но я хотел знать, есть ли какой-нибудь возможный способзакодируйте этот запрос так, чтобы для каждой отдельной записи для данного пациента был создан новый столбец, таким образом отображая результаты следующим образом:
PatientID Name DxCode1 DxCode2 DxCode3
--------------------------------------------------------------
1001 John Smith 123.0 ABC.0
1002 Jane Doe 456.1
1003 Bob Brown 789.0 DEF.1 XYZ.0
Проблема заключается в том, что у меня нет способа узнать изначально, сколько результатовданный пациент собирается иметь.Это выглядит как будто у большинства людей есть только 2 или 3, но теоретически пациент может иметь каждый код диагноза, включенный в мое предложение WHERE.В этом случае это будет МНОГО добавленных столбцов, но мне потребуется SQL Server, чтобы просто посмотреть, сколько результатов было для этого пациента, и добавить эти столбцы соответствующим образом, если это имеет смысл.
В любом случае,это больше вопрос любопытства, чем вопрос «мне нужно это ответили в порядке, чтобы даже сделать мою работу».Будет ли что-то подобное вообще возможным?