Добрый день. Имеется SQL Код: INSERT INTO t3 (old, new) SELECT CASE flag WHEN 1 THEN COLUMN_NAME ELSE '' END, CASE flag WHEN 2 THEN COLUMN_NAME ELSE '' END FROM ( SELECT COLUMN_NAME, SUM(CASE TABLE_NAME WHEN 't1' THEN 1 WHEN 't2' THEN 2 END) flag FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME IN ('t1', 't2') GROUP BY COLUMN_NAME HAVING flag < 3 ) dummy Помогите пожалуйста на основе него сделать вставку в t3 в колонку value - название колонки, какой не хватает в одной из таблиц и в колонку status - 1 или 2 - в зависимости от того, в какой таблице найдено. Спасибо.
Для составления запроса структура таблиц 't1' и 't2' должна быть известна. Что значит "название колонки, какой не хватает в одной из таблиц"?
Код: INSERT INTO t3 (name, table) select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS t1 where COLUMN_NAME not in (SELECT t1.COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS t1 JOIN INFORMATION_SCHEMA.COLUMNS t2 ON t1.COLUMN_NAME = t2.COLUMN_NAME AND t2.TABLE_NAME = 'table2' AND t2.TABLE_SCHEMA = database() WHERE t1.TABLE_NAME = 'table1' AND t1.TABLE_SCHEMA = database() ),1 ; и так же для второй