Ich habe eine Abfrage wie unten in MYSQL
. Diese Abfrage gibt mir eine Liste von Tabellennamen ohne bestimmte spezielle Zeichen in den Spaltennamen.Verbinden Sie zwei Abfragen in MySQL, um das Ergebnis einer Abfrage mit einer anderen zu verknüpfen
select distinct A.table_name from (select TABLE_NAME from information_schema.columns where TABLE_SCHEMA = 'testing' order by TABLE_NAME) A LEFT JOIN
(select table_name from information_schema.columns where (COLUMN_NAME like '% %' or COLUMN_NAME like '%{%' or COLUMN_NAME like '%(%' or COLUMN_NAME like '%;%'
or COLUMN_NAME like '%.%') and TABLE_SCHEMA = 'testing' order by TABLE_NAME) B ON (A.TABLE_NAME=B.TABLE_NAME) where B.table_name IS NULL
Ergebnis der obigen Abfrage:
100_test
101_test
102_backup
103_backup
Ich habe eine andere Abfrage wie folgt:
select src_table,dst_table from test.mapping
Hier test
Datenbank und mapping
ist der Name der Tabelle.
Ergebnis:
100_test 100_testing
101_test 101_testing
102_backup 102_backup_old
103_backup 103_backup_old
105_old_test 105_archived
Jetzt möchte ich eine Abfrage erstellen, die mich src_table und dst_table von test.mapping
für jede Tabelle des Ergebnisses der 1st
Abfrage gibt.
Ich möchte beide Abfragen als eine einzelne Abfrage verbinden, die mir wie zur Folge gibt unter
100_test 100_testing
101_test 101_testing
102_backup 102_backup_old
103_backup 103_backup_old
Wie kann ich das erreichen?