Tengo 4 tablas diferentes a las que quiero unirme. Las tablas están estructuradas con columnas de la siguiente manera:
TableA - aID | nameA | dID
TableB - bID | nameB | cID | aID
TableC - cID | nameC | date
TableD - dID | nameD
Comenzando con la Tabla A, entiendo cómo UNIR las tablas ayc usando b, ya que b tiene las Claves principales para esas tablas. Quiero poder unirme a la tabla TableD en TableA también. A continuación se muestra mi declaración SQL que primero une las tablas A y B, luego las une a 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 unión, para incluir D, recibo un error de que 'TableD' es desconocido:
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()))
JOINTableC
esON
TableC.cID = TableB.cID
y noTableC.cID = TableA.cID
? Asumí que nos unimosTableA
a las otras 3 mesas.fuente
No se ha unido a TableD, simplemente ha seleccionado TableD FIELD (
dID
) de una de las tablas.fuente
fuente