Так что я пытаюсь обновить значение в таблице на основе значения другой строки в той же таблице. Используя приведенную ниже таблицу в качестве примера:Обновить строку на основе значения в другой строке
Student # Subject Chosen Required
001 Maths N N
054 Maths N N
002 History N N
001 Geography Y N
001 Physics N N
054 History Y N
002 Physics Y N
Я хочу, чтобы заявление, которое позволило бы мне изменить столбец «необходимый» для студента на основе были ли выбраны они другой предмет: например, Если ученик 001 выбрал математику, ему не потребовалось бы заниматься физикой.
Так это будет выглядеть примерно так:
Update dbo.Subject_Choices
Set Required = 'Y'
Where Subject = 'Physics'
AND
{I have literally no idea how to continue this syntax, but it would have to check whether the required Field for Maths for the same student = N}
Любые мысли?
Вы используете Oracle или SQL Server? 'dbo' кажется необычным именем схемы в Oracle. –
Немного рискованно хранить данные, «вычисленные» из других столбцов, например, потому что, если класс математики удаляется для ученика, вы всегда должны помнить об обновлении требуемого столбца для класса физики. Чтобы избежать несогласованности данных, вы можете использовать триггеры. – jarlh