Технически можете да направите това само с динамичен SQL - което означава Синтаксисът на подготвения израз на MySQL , или конкатенация на низове, за да създадете заявката, преди да я изпратите в базата данни. Подготвените отчети са предпочитаният избор, поради по-добрата защита от SQL инжектиране.
Можете да използвате LEFT JOIN към различните таблици, но това би означавало включване на множество колони от всяка от таблиците (оръжия, щитове, мечове...), които биха били нулеви, ако категорията не съвпада. Би било ужасно да се опитате да извлечете данни от една заявка...
PS:Защо има SWORD
маса? Няма ли това да бъде покрито от WEAPON
маса?