Esta es la consulta, tampoco creo que sea para tanto, lo único malo serían tantos enlaces. Hay un par de tablas que no se usan porque aun me quedan algunos datos por poner (con sumas de precios para mas inri) pero es que ya si no saco ni esto.
Se que se pueden hacer las relaciones de varias formas. Yo suelo usar esta, aunque se alguna más:
· WHERE tabla1 = tabla2 USING(clave)
Me suena que hay alguna forma de enlazar multiples tablas que usen la misma clave pero no estoy seguro de como es. Aquí la consulta que me crea el access automáticamente tras decirle que campos quiero consultar. La base de datos es un caos no la diseñé yo y está fatal hecha, así que tampoco ayuda.
Código MySQL:
Como veis los enlaces entre tablas son excesivamente complejos, me imagino que por eso se muere.Ver original
He intentado hacerlo a mano pero no logro seguir un orden lógico.
Si enlazo articulo con catart (categoria articulo) luego esta categoria con cual la voy a enlazar? no se si me explico. Hay que seguir un orden no?
Este es el meollo:
TABLA -> Su clave y las que llama
articulo
claart(pk)
clacat (fk de categoria articulo)
factura
clafac(pk)
factural
clafacl (pk)
clafact (fk de factura)
tarifa
clatar (pk)
clientes
clacli (pk)
clatar (fk)
clatip (fk)
tiposcli
clatip (pk)
catart
clacat (pk)
Como veis los nombres de las tablas e ids tampoco ayudan mucho. Un auténtico lío. No pido que me hagais la relación sino la sintaxis para poder enlazar varias tablas porque no encuentro un orden en el que hacerlo.
Extra: También si alguno de vosotros sabe me gustaría saber si en una subconsulta puedo hacer referencia a alguna de las claves de la consulta normal. Algo así:
SELECT campos, (SELECT otras_cosas FROM tablas WHERE id_de_la_otra_consulta) FROM tablas
Es decir que para cada id de la consulta principal me busque en la subconsulta.