IDと説明を含むテーブルカテゴリが必要です
オブジェクトは多くのカテゴリを持つことができ、カテゴリは多くのオブジェクトを持つことができます。したがって、多対多の関係に直面しています。
ジャンクション テーブルと呼ばれる 3 番目のテーブルが必要です。このテーブルには、カテゴリの ID とオブジェクトの ID が含まれます。
デザインはこんな感じになります
Category
Id | Description
Object
Id | Description
Person
id | Type | ...
Categories_Objects
Id | CategoryId | ObjectId
次に、カテゴリ 1 になるメカニックのオブジェクトを選択する場合 (これは例です。最初に ID を見つける必要があります)。
あなたはこのような選択をします
SELECT Object.Description
FROM Object
INNER JOIN Categories_Objects ON Object.id = Categories_Objects.ObjectID
WHERE CategoryID = 1
また
SELECT Object.Description
FROM Object
INNER JOIN Categories_Objects ON Object.id = Categories_Objects.ObjectID
INNER JOIN Category ON Categories_Objects.CategoryId = Category.id
WHERE category.description = "Mechanic"
注:人が多くのカテゴリのツールを使用できる場合は、このような別のジャンクション テーブルが必要になります。
Persons_Categories
ID | PersonID | CategoryID