Мне интересно, возможно ли это в 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. * с" чем-то ". Это возможно или мне не повезло?
Заранее благодарим за помощь!
EDIT: советы по использованию SELECT * и т.д. являются действительными советами, но не релевантными в моем контексте, поэтому, пожалуйста, придерживайтесь этой проблемы: возможно ли добавить префикс (константу, указанную в SQL-запросе) ко всем именам столбцов таблицы в соединении?
EDIT: моя конечная цель состоит в том, чтобы иметь возможность делать SELECT * на двух таблицах с объединением и быть в состоянии сказать, из имен столбцов, которые я получаю в своем результирующем наборе, какие столбцы поступают из таблицы A и какие столбцы пришли из таблицы B. Опять же, я не хочу, чтобы список столбцов был индивидуальным, мне нужно иметь возможность делать SELECT *.