2015-12-10 4 views
1

После выбора данных из нескольких таблиц, например:SQL: Извлечение заголовков столбцов из таблицы динамически генерируемого

SELECT games.name, scores.score 
FROM games, scores 
WHERE players.id = scores.player_id 

..can извлечь заголовки столбцов из этого вновь созданной таблицы?

В заявлении я обычно использую будет выглядеть следующим образом:

SELECT column_name 
FROM information_schema.columns 
WHERE table_name=table 

Но, естественно, это не будет работать для динамически сгенерированной таблицы без имени

Помощь высоко ценится!

Edit: Я использую клиент MariaDB

+0

'WHERE table_name IN ('games', 'score') ORDER BY table_name, ordinal_position' –

+0

Я не думаю, что это возможно в sql, но это возможно в большинстве клиентов mysql. Но вы не сказали нам, что такое клиент. – symcbean

+0

Извинения. Я использую MariaDB – sookie

ответ

0

..can извлечь заголовки столбцов этой вновь созданной таблицы?

Нет. В основном потому, что вы не создали таблицу. Просто результат. Я думаю, вы уже знаете это, потому что вы уже просмотрели информационную схему :)

К сожалению, даже создание временной таблицы не поможет - потому что они также не сохраняются в информационной схеме. Я не думаю, что вы можете объявлять курсоры для операторов SHOW COLUMN....

Я не думаю, что у вас есть способ сделать это, я боюсь.

Если это подготовленный оператор (с выражением выбора, хранящимся в переменной), вы, вероятно, могли бы нарезать его, используя некоторые уродливые манипуляции с строкой ...?

Возможно, в этот момент стоит спросить «более абстрактно, какую проблему вы пытаетесь решить?»

Смежные вопросы