In meiner Datenbank habe ich mehrere Tabellen mit "Viele-zu-viele" Beziehungen, die sich gegenseitig referenzieren, und die Art und Weise, wie ich diese Abfragen durchgeführt habe, erfolgte über eingebettete Abfragen.
Ich habe über "viele zu viele" Beziehungen gelesen, und wie man sie mit "Innerer Join" abfragt, aber ich bin nicht in der Lage, Abfragen zu finden, die zu dem passen, wonach ich suche, und seitdem Meine Datenbank wird mit sehr großen Tabellen arbeiten Ich möchte nicht, dass mein Code Leistungsprobleme hat.Gibt es eine bessere Möglichkeit, diese mysql-Abfrage mit internen Join-Befehlen zu erstellen?
SELECT salones.idSalon,
salones.Lat,
salones.Long,
recursos.idRecurso,
recursos.Recurso
FROM salones,
recursos,
salones_has_recursos
WHERE salones_has_recursos.salones_idSalon=salones.idSalon
AND salones_has_recursos.recursos_idRecurso=recursos.idRecurso
AND recursos.idRecurso IN (SELECT idRecurso
FROM salones_has_recursos
WHERE idRecurso IN (SELECT idRecurso
FROM recursos
WHERE recurso = 'Audiovisual'
)
)
Ich weiß, eingebettete Abfragen haben, ist ein Leistungskiller, aber das ist der einzige Weg, ich konnte Figur, wie die Informationen, die ich aus der Tabelle benötigen. Weiß jemand, wie man dieses Ergebnis mit "inner join" -Befehlen bekommt?
The resulting table should look a little like this
This is the all the data content of the tables
sqlfiddle.com einige Testdaten und zeigen gewünschte Ausgabe, bitte. –
Sag einfach Nein zu "Komma verbindet" – Uueerdo