Мне интересно, возможно ли это в SQL. Допустим, у вас есть две таблицы A и B, и вы делаете выбор в таблице A и присоединяетесь к таблице B:
SELECT a.*, b.* FROM TABLE_A a JOIN TABLE_B b USING (some_id);
Если в таблице A есть столбцы 'a_id', 'name' и 'some_id', а в таблице B есть 'b_id', 'name' и 'some_id', запрос возвратит столбцы 'a_id', 'name' , 'some_id', 'b_id', 'name', 'some_id'. Есть ли способ добавить префикс имен столбцов таблицы B без перечисления каждого столбца в отдельности? Эквивалент этого:
SELECT a.*, b.b_id as 'b.b_id', b.name as 'b.name', b.some_id as 'b.some_id'
FROM TABLE_A a JOIN TABLE_B b USING (some_id);
Но, как уже упоминалось, без перечисления каждого столбца, что-то вроде:
SELECT a.*, b.* as 'b.*'
FROM TABLE_A a JOIN TABLE_B b USING (some_id);
По сути, что-то сказать, "префикс каждого столбца, возвращаемого b. *, С" чем-то "". Это возможно или мне не повезло?
Заранее спасибо за помощь!
РЕДАКТИРОВАТЬ: рекомендация не использовать SELECT * и т. Д. Является действительной рекомендацией, но не имеет отношения к моему контексту, поэтому, пожалуйста, придерживайтесь рассматриваемой проблемы - возможно ли добавить префикс (константа, указанная в запросе SQL) ко всем именам столбцов таблицы в соединении?
РЕДАКТИРОВАТЬ: моя конечная цель состоит в том, чтобы иметь возможность выполнять SELECT * для двух таблиц с объединением и иметь возможность определять по именам столбцов, которые я получаю в моем наборе результатов, какие столбцы получены из таблицы A и какие столбцы взяты из таблицы B. Опять же, я не хочу, чтобы список столбцов индивидуально, мне нужно иметь возможность сделать SELECT *.