Выбираемые значения столбцов базы данных SQL зависят от значений нескольких других столбцов

#sql #sqlite

#sql #sqlite

Вопрос:

Возможно ли объявить таблицу SQL с зависимостью от того, что значения одного столбца допустимы только в том случае, если это значение одного из нескольких других столбцов?

Пример:

 Table game {
    id int [pk, incremet]
    player1_id int [ref: < player.id]
    player2_id int [ref: < player.id]
    winner int [???]
}
  

здесь победителем также должна быть ссылка на player.id но только значения другого идентификатора player1_id или player2_id (или ..).

Ответ №1:

Вы можете использовать check ограничение:

 winner int check (winner in (player1_id, player2_id)