Я подозреваю, что на этот вопрос уже дан хороший ответ, но, возможно, из-за ограниченного словарного запаса SQL мне не удалось найти то, что мне нужно. У меня есть база данных с множеством отображений описания кода в одной таблице параметров. Я хотел бы определить запрос или процедуру для возврата описаний для всех (или произвольного списка) кодированных значений в данной таблице «содержимого» с их описаниями из таблицы параметров. Я не хочу изменять исходные данные, я просто хочу отображать дружественные результаты.
- Есть ли стандартный способ сделать это?
- Может ли это быть выполнено с помощью SELECT или требуются другие операторы?
Вот пример запроса для одного кодированного поля:
SELECT TOP (5)
newid() as id,
B.BRIDGE_STATUS,
P.SHORTDESC
FROM
BRIDGE B
LEFT JOIN PARAMTRS P ON P.TABLE_NAME = 'BRIDGE'
AND P.FIELD_NAME = 'BRIDGE_STATUS'
AND P.PARMVALUE = B.BRIDGE_STATUS
ORDER BY
id
Я хочу производить «декодированные» результаты, такие как:
| id | BRIDGE_STATUS |
|--------------------------------------|------------ |
| BABCEC1E-5FE2-46FA-9763-000131F2F688 | Active |
| 758F5201-4742-43C6-8550-000571875265 | Active |
| 5E51634C-4DD9-4B0A-BBF5-00087DF71C8B | Active |
| 0A4EA521-DE70-4D04-93B8-000CD12B7F55 | Inactive |
| 815C6C66-8995-4893-9A1B-000F00F839A4 | Proposed |
Вместо оригинальных кодированных данных, таких как:
| id | BRIDGE_STATUS |
|--------------------------------------|---------------|
| F50214D7-F726-4996-9C0C-00021BD681A4 | 3 |
| 4F173E40-54DC-495E-9B84-000B446F09C3 | 3 |
| F9C216CD-0453-434B-AFA0-000C39EFA0FB | 3 |
| 5D09554E-201D-4208-A786-000C537759A1 | 1 |
| F0BDB9A4-E796-4786-8781-000FC60E200C | 4 |
, но для произвольного числа столбцов.