Tengo 4 tablas diferentes a las que quiero unirme. Las mesas están estructurados con las columnas de la siguiente manera:¿Cómo puedo unir varias tablas SQL usando los ID?
TableA - aID | nameA | dID
TableB - bID | nameB | cID | aID
TableC - cID | nameC | date
TableD - dID | nameD
A partir de la Tabla A, entiendo cómo unirse a los cuadros A y C utilizando b, ya que b tiene las claves principales para esas tablas. También quiero unir mesa TableD en TableA. A continuación es mi instrucción SQL que primero se une a los cuadros A y B, luego se une que en C:
SELECT TableA.*, TableB.*, TableC.* FROM (TableB INNER JOIN TableA
ON TableB.aID= TableA.aID)
INNER JOIN TableC ON(TableB.cID= Tablec.cID)
WHERE (DATE(TableC.date)=date(now()))
Cuando intento agregar otra combinación, para incluir D, me sale un error que 'presentó' es desconocida:
SELECT TableA.*, TableB.*, TableC.*, TableD.* FROM (TableB INNER JOIN TableA
ON TableB.aID= TableA.aID)
INNER JOIN TableC ON(TableB.cID= Tablec.cID)
INNER JOIN TableA ta ON(ta.dID= TableD.dID)
WHERE (DATE(TableC.date)=date(now()))
no seleccionará tableN. * Duplicar todos los emparejan primarias de claves de identificación en las etiquetas de las columnas? (la pregunta no especificó qué salida se desea, pero generalmente no querría hacer esto, creo) –
¿Puedo preguntar por qué 'JOINTableC' es' ON' 'TableC.cID = TableB.cID' y no' TableC.cID = TableA.cID'. Supuse que estamos uniendo 'TableA' a las otras 3 tablas. – emihir0