Implementando um sistema de junção “configurável”, com segurança

fundo

Olá, estou desenvolvendo uma ferramenta experimental / educacional em PHP e MySQL. Sou novo no SQL, mas quero fazer as coisas da maneira correta desde o início. Eu estou usando instruções preparadas pelo PDO para todas as substituições de variáveis, e backticking em todos os lugares possíveis (assim, como eu entendo, não será portável para bancos de dados não-MySQL). Em relação ao meu problema, eu tenho uma idéia de como ir adiante, mas vai levar várias horas para implementar (eu sou novo até na sintaxe do SQL), então enquanto isso eu pensei em criar uma pergunta primeiro no caso de alguém poder gritar: "Este não é o jeito de fazer isso!" e me poupa horas de esforço.

Problema

Eu gostaria de criar uma interface onde um usuário selecionaria nos menus suspensos:

uma mesaA,um ou mais campos nessa tabela, e.A.x eA.y,uma mesaB,um ou mais campos nessa tabela, e.B.z eB.y,

e após a submissão, o código executaria uma junção interna, correspondendo a cada campo, respectivamente, e.A.x = B.z, A.y = B.y, etc. e retornar todas as linhas correspondidas.

Meu plano é simplesmente gerar umINNER JOIN Instrução SQL, passando pelos campos e inserindo espaços reservados (?), vinculando os respectivos parâmetros e, finalmente, executando a instrução.

Existe uma maneira mais fácil de fazer isso? Existe um jeito melhor de fazer isso? Isso será de alguma forma explorável?

Muito obrigado antecipadamente. Se ninguém responder até o final (duvidoso), postarei minha solução.

Misc.

Suponha que eu validarei

que o usuário seleciona um número igual de campos entreA eB,que os campos e tabelas existem,etc.

e que os nomes dos campos não precisam ser idênticos: eles serão combinados em ordem. (Indique quaisquer outros detalhes que eu possa não estar ciente!)

Eventualmente, o objetivo é que essas seleções sejam salvas em uma tabela de "configurações". Com efeito, os usuários criam "visualizações" que gostariam de ver sempre que voltam.

questionAnswers(2)

yourAnswerToTheQuestion