Die unter mysql queryVersuchen, 3 mysql Tabellen zu verbinden, aber ich bekomme nicht das erwartete Ergebnis. Was ist ein Fehler?
SELECT *
FROM alerts_list l, alerts_data d, alerts_push_data p
WHERE p.push_data_hash = d.alerts_data_hash
AND p.push_data_alert_id = l.alerts_id
AND d.alerts_data_id = l.alerts_id
AND d.alerts_data_hash = 'JiaYRSVNZxgE'
zeigt die Ergebnisse der JiaYRSVNZxgE
von drei Tabellen verknüpft.
Hier sind die Tabellen, die ich verwenden und die Spalten, die ich zwischen ihnen eine Verbindung herstellen möchten:
Tisch alerts_list
Säule: alerts_id
Tisch alerts_push_data
Säule: push_data_alert_id
Säule: push_data_hash
Tabelle alerts_data
Säule: alerts_data_id
Säule: alerts_data_hash
Was ich will, erreichen ist:
verbinden push_data_alert_id
mit alerts_id
verbinden alerts_data_id
mit alerts_id
sondern zeigen nur die Ergebnisse, wo alerts_data_hash
und push_data_hash
ist "abcdef"
Leider führt meine Abfrage zu keinen Ergebnissen, aber es gibt Ergebnisse in der Realität. Was mache ich falsch?
Ohne die Daten, die Sie erwarten, Ergebnisse zu liefern, gibt es nicht viel, die vorgeschlagen werden können. Anders als die Verwendung der ',' "Join" -Notation zu stoppen; es macht solche Abfragen viel schwieriger zu lesen, zu verstehen und zu erraten. – Uueerdo
Können wir annehmen, dass alle verwendeten ID-Felder ganze Zahlen sind? – Uueerdo
@Uueerdo ja alle re Ganzzahlen. überprüfe sie jetzt doppelt. – EnexoOnoma