Ich möchte die Abfrage dynamisch auswählen, welche Tabelle es auf der Grundlage eines Werts in einer bestimmten Zeile in einer anderen Tabelle sucht.Dynamisch wählen, welche Tabelle
Ich habe diese Anfrage:
SELECT d.name
FROM `database1`.domains AS d
WHERE (SELECT COUNT(u.id) FROM <<d.db_name>>.users u) > 0
Ich möchte den Wert von d.db_name als Datenbanknamen verwenden. Beispiel: d.db_name = database2
Ich möchte diese:
SET @table_name = "some_table";
SELECT * FROM @table_name;
Wenn Sie den Variablenwert geändert werden soll abhängig von den Ergebnissen:
SELECT d.name
FROM `database1`.domains AS d
WHERE (SELECT COUNT(u.id) FROM `database2`.users u) > 0
Das klingt wie eine wirklich schlechte Datenarchitektur. –
Diese Abfrage wird nur von mir für eine Statistik verwendet. –
Werfen Sie einen Blick [hier] (http://stackoverflow.com/questions/4165020/what-is-dynamic-sql) – JohnHC