У меня возникли проблемы с выполнением выбора на таблице, но с использованием результатов другой таблицы для фильтрации возможностей.Как проверить, сыграл ли 1 игрок другой
У меня есть таблица результатов игроков (идентификатор игрока, победы, поражения, ничьи, очки), а раунды для турнира - в другой таблице (круглый идентификатор, идентификатор турнира, идентификатор игрока 1, идентификатор игрока 2 и идентификатор таблицы).
Я пытаюсь получить инструкцию select, которая проверяет таблицу roundround и не позволяет игроку играть с предыдущими противниками (например, в швейцарском турнире), но я сталкиваюсь с тем, что игрок, которого он выбирает для второго, может быть выбранный для другого игрока.
ie p1 играл p2 и p3, но не p4 или p5, когда выбор происходит, он назначает p1-p4, но когда он добирается до p4, он назначает p4 на p2.
Любая идея о том, как предотвратить это?
Пример выбора:
SELECT * FROM playerresults WHERE ((SELECT pid FROM playerresults) != (SELECT p1id FROM tournamentrounds))
Любые предложения будут высоко оценены
Пожалуйста, отредактируйте ваш вопрос и включите образцы данных в формате * table *, а также желаемые результаты. –