Нужно немного Informix SQL ...
Курсы получают обычную оценку, но их лаборатории получают оценку «LAB». Мне нужно обновить таблицу так, чтобы оценка лаборатории соответствовала оценке курса. Кроме того, если нет соответствующего курса для лаборатории, это означает, что курс был отменен. В этом случае я хочу поместить значение флага 'X' для его оценки.
Пример данных до обновления:
id yr sess crs_no hrs grd
725 2009 FA COLL101 3.000000000000 C
725 2009 FA ENGL021 3.000000000000 FI
725 2009 FA ENGL021L 1.000000000000 LAB
725 2009 FA ENGL031 3.000000000000 FNI
725 2009 FA ENGL031L 1.000000000000 LAB
725 2009 FA MATH010 3.000000000000 FNI
725 2010 SP AOTE101 3.000000000000 C
725 2010 SP ENGL021L 1.000000000000 LAB
725 2010 SP ENGL031 3.000000000000 FI
725 2010 SP ENGL031L 1.000000000000 LAB
725 2010 SP MATH010 3.000000000000 FNI
726 2010 SP SPAN101 3.000000000000 FN
Пример данных после обновления:
id yr sess crs_no hrs grd
725 2009 FA COLL101 3.000000000000 C
725 2009 FA ENGL021 3.000000000000 FI
725 2009 FA ENGL021L 1.000000000000 FI
725 2009 FA ENGL031 3.000000000000 FNI
725 2009 FA ENGL031L 1.000000000000 FNI
725 2009 FA MATH010 3.000000000000 FNI
725 2010 SP AOTE101 3.000000000000 C
725 2010 SP ENGL021L 1.000000000000 X
725 2010 SP ENGL031 3.000000000000 FI
725 2010 SP ENGL031L 1.000000000000 FI
725 2010 SP MATH010 3.000000000000 FNI
726 2010 SP SPAN101 3.000000000000 FN
Я разработал решение для этого, но для этого требовалось много составных внешних ключей на лету, созданных из конкатенации id, yr, sess и substring'd crs_no. Мое решение не только излишнее, но в нем есть пробелы и обработка занимает слишком много времени.
Я знаю, что есть более простой способ сделать это, но я пошел так далеко по одной дороге, что мне трудно думать о другом подходе.