Вы можете попытаться создать таблицу mapperTable
вместо HardCode CASE WHEN
, чтобы код стал чище.
, в будущем вам просто нужно поддерживать таблицу mapperTable.
CREATE TABLE mapperTalbe(
UMAJOR varchar(50),
curriculum varchar(50)
);
INSERT INTO mapperTalbe VALUES ('ACM' , 'ACCT');
INSERT INTO mapperTalbe VALUES ('BSBA' , 'BADM');
INSERT INTO mapperTalbe VALUES ('B&TS' , 'BIBT');
INSERT INTO mapperTalbe VALUES ('BICH' , 'BIOC');
INSERT INTO mapperTalbe VALUES ('BIO' , 'BIOL');
INSERT INTO mapperTalbe VALUES ('BIS' , 'BIS');
INSERT INTO mapperTalbe VALUES ('BCOM' , 'Bu Com');
INSERT INTO mapperTalbe VALUES ('BUS' , 'BUSI');
INSERT INTO mapperTalbe VALUES ('CHEM' , 'CHEM');
INSERT INTO mapperTalbe VALUES ('AASCM' , 'CHRM');
INSERT INTO mapperTalbe VALUES ('CL&A' , 'CLDA');
INSERT INTO mapperTalbe VALUES ('COM' , 'COMM');
INSERT INTO mapperTalbe VALUES ('CRIM' , 'CRIM');
INSERT INTO mapperTalbe VALUES ('CRMJ' , 'CRMJ');
INSERT INTO mapperTalbe VALUES ('CROS' , 'CROSS');
INSERT INTO mapperTalbe VALUES ('DIGC' , 'DIGCIN');
INSERT INTO mapperTalbe VALUES ('MED' , 'EDUC');
INSERT INTO mapperTalbe VALUES ('EDES' , 'ELED');
CREATE TABLE T (UMAJOR varchar(50));
INSERT INTO T VALUES ('EDES');
INSERT INTO T VALUES ('CRIM');
INSERT INTO T VALUES ('CRIM1');
Запрос 1 :
SELECT t2.UMAJOR
FROM T t1
LEFT JOIN mapperTalbe t2 on t1.UMAJOR = t2.UMAJOR
Результаты :
| UMAJOR |
|--------|
| CRIM |
| EDES |
| (null) |