У меня есть таблица, в которой могут храниться несколько идентификаторов человека. В этой таблице я хотел бы создать один вычисленный столбец идентификатора, который хранит лучший идентификатор для этой записи в зависимости от того, какие идентификаторы доступны.SQL для расчетного столбца, который выбирает значение из собственной строки
Например (некоторые вымышленные данные выборки) ....
Таблица = "Граждане"
Id | LastName | DL-No | SS-No | State-Id-No | Calculated
------------------------------------------------------------------------
1 | Smith | NULL | 374-784-8888 | 7383204848 | ?
2 | Jones | JG892435262 | NULL | NULL | ?
3 | Trask | TSK73948379 | NULL | 9276542119 | ?
4 | Clinton | CL231429888 | 543-123-5555 | 1840430324 | ?
Я знаю, что порядок, в котором я хотел бы выбрать идентификаторы ...
- Водители-лицензия-No
- Social-Security-No
- Государственно-Id-No
Поэтому я хотел бы, чтобы вычисленный столбец идентификатора был частью схемы таблицы. Желаемые результаты будут ...
Id | LastName | DL-No | SS-No | State-Id-No | Calculated
------------------------------------------------------------------------
1 | Smith | NULL | 374-784-8888 | 7383204848 | 374-784-8888
2 | Jones | JG892435262 | NULL | 4537409273 | JG892435262
3 | Trask | NULL | NULL | 9276542119 | 9276542119
4 | Clinton | CL231429888 | 543-123-5555 | 1840430324 | CL231429888
IS это возможно? Если да, то какой SQL я буду использовать для вычисления того, что происходит в столбце «Вычисленный»?
Я думал о чем-то вроде ..
SELECT
CASE
WHEN ([DL-No] is NOT NULL) THEN [DL-No]
WHEN ([SS-No] is NOT NULL) THEN [SS-No]
WHEN ([State-Id-No] is NOT NULL) THEN [State-Id-No]
AS "Calculated"
END
FROM Citizens
Спасибо Гордон. Я отредактировал SQL – webworm
. Как можно было бы создать второй столбец, содержащий тип вычисляемого идентификатора (DL-No, SS-No или State-Id-No) – webworm
@webworm. , , Вы должны использовать 'alter table' и' update'. –