Implementando un sistema de unión "configurable", de forma segura.

Fondo

Hola, estoy desarrollando una herramienta experimental / educativa en PHP y MySQL. Soy nuevo en SQL, pero quiero hacer las cosas de la manera correcta desde el principio. Estoy usando declaraciones preparadas de PDO para todas las sustituciones de variables, y es posible realizar backticking en todas partes (por lo tanto, según tengo entendido, no será portátil a bases de datos que no sean MySQL) Respecto a mi problema, tengo una idea de cómo avanzar, pero me llevará varias horas implementarlo (soy nuevo incluso con la sintaxis de SQL), así que mientras tanto pensé que primero crearía una pregunta. en caso de que alguien pueda gritar: "¡Esta no es la manera de hacerlo!" Y ahórrame horas de esfuerzo.

Problema

Me gustaría crear una interfaz donde un usuario seleccionara de los menús desplegables:

una mesaA,uno o más campos en esa tabla, por ejemplo,A.x yA.y,una mesaB,uno o más campos en esa tabla, por ejemplo,B.z yB.y,

y al enviarlo, el código realizaría una unión interna, coincidiendo con cada campo respectivamente, por ejemplo.A.x = B.z, A.y = B.y, etc. y devolver todas las filas coincidentes.

Mi plan es simplemente generar unINNER JOIN Declaración SQL, recorre los campos e inserta marcadores de posición (?), vinculando los parámetros respectivos, y finalmente ejecutando la declaración.

¿Hay una manera más fácil de hacer esto? ¿Hay una mejor manera de hacer esto? ¿Será esto de alguna manera explotable?

Muchas gracias por adelantado. Si nadie responde para el momento en que termine (dudoso), publicaré mi solución.

Misceláneo

Supongamos que voy a validar

que el usuario selecciona un número igual de campos entreA yB,que los campos y tablas existen,etc.

y que los nombres de los campos no tienen que ser idénticos: coincidirán en orden. (¡Señale cualquier otro detalle que no conozca!)

Finalmente, el objetivo es que estas selecciones se guarden en una tabla de "configuración". En efecto, los usuarios crean "vistas" que les gustaría ver cada vez que vuelven.

Respuestas a la pregunta(2)

Su respuesta a la pregunta