присваивание значений из таблицы соответствия во многих отношениях - PullRequest
1 голос
/ 19 января 2012

У меня есть следующие таблицы:

Persons(
PersonID,
FirstName,
LastNAme)

Person_Categories(
CategoryID,
CategoryName)

Persons_PersonCategories(
PersonID,
CategoryID)

Один человек может иметь более одной категории, и многие люди могут принадлежать к одной категории.Я хочу иметь возможность назначать категории людям из выпадающего меню (Person_Categories).Я написал следующий запрос, который отображает данные, если уже есть категории, назначенные лицам.

SELECT Persons_PersonCategories.PrsCatID, PrsCategory
FROM Person_Categories
INNER JOIN Persons_PersonCategories
ON Persons_PersonCategories.PrsCatID = Person_Categories.PrsCatID;

Мой вопрос: Какой SQL-оператор мне нужен для назначения категорий из таблицы Person_Categories для Persons?

Большое спасибо, Зан

1 Ответ

1 голос
/ 19 января 2012

Когда пользователь выбирает категорию из списка меню, вы можете назначить ее человеку с помощью:

INSERT INTO Persons_PersonCategories (PersonID, CategoryID)
VALUES (<person ID>, <category ID>);

где <идентификатор человека> и <идентификатор категории> соответственно представляют человека, которого вы назначаете, и категорию, которую выбрал пользователь.

Чтобы удалить категорию из данного лица, вы можете использовать:

DELETE FROM Persons_PersonCategories
WHERE PersonID   = <person ID>
  AND CategoryID = <category ID>;

где <идентификатор человека> и <идентификатор категории> соответственно представляют человека, из которого вы удаляете категории, и категорию, которую удаляет пользователь.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...