Technisch gezien kun je dit alleen doen met dynamische SQL - wat betekent syntaxis van de voorbereide verklaring van MySQL , of tekenreeksaaneenschakeling om de query te maken voordat deze naar de database wordt verzonden. Voorbereide verklaringen hebben de voorkeur, vanwege een betere verdediging tegen SQL-injectie.
Je zou LEFT JOINs kunnen gebruiken voor de verschillende tabellen, maar het zou betekenen dat je meerdere kolommen van elk van de tabellen (wapens, schilden, zwaarden...) moet opnemen die nul zouden zijn als de categorie niet overeenkwam. Het zou verschrikkelijk zijn om te proberen gegevens uit een enkele zoekopdracht te halen...
PS:Waarom is er een SWORD
tafel? Zou dat niet gedekt worden door het WEAPON
tafel?