У меня есть таблица диагностики, как показано ниже (только для примера). Есть 50 столбцов ICD10, как показано ниже.
+----+-------------+------+----------------+------+-----+------+-------+--------------+-------+
| ID | ICD10_Diag1 | POA1 | ICD10_Diag2 | POA2 | ... | .... | POA49 | ICD10_Diag50 | POA50 |
+----+-------------+------+----------------+------+-----+------+-------+--------------+-------+
| 1 | A234 - Flu | Y | B456 - Cough | Y | | | N | A844 - Fever | N |
+----+-------------+------+----------------+------+-----+------+-------+--------------+-------+
| 2 | A563 - Cold | Y | I567 - Cardiac | Y | | | | | |
+----+-------------+------+----------------+------+-----+------+-------+--------------+-------+
| 3 | C354 - CHF | N | | | | | | | |
+----+-------------+------+----------------+------+-----+------+-------+--------------+-------+
Я пытаюсь увидеть, как я могу транспонировать эту структуру таблицы так, чтобы яможет выполнить следующую операцию.
Найдите записи, которые содержат эти коды диагностики (A234, F384, I567) и их соответствующий POA равен 'Y'.Даже если найдено одно совпадение, игнорируйте оставшуюся часть диагноза, даже если есть совпадение.
SQL
Select * from myTable WHERE ('%A234%', '%F384%', '%I567%') IN (ICD10_Diag1, ICD10_Diag2, ICD10_Diag3, ICD10_Diag4)
Я знаю, что это неправильный способ сделать это, я пытаюсь найти альтернативу
Желаемый результат
1 A234-Flu
2 I567 - Cardiac