Часто мне нужно присоединить таблицу к себе, и на основе предиката соответствия вывести все столбцы из обеих таблиц.например,
SELECT t1.*, t2.*
FROM `t` t1
JOIN `t` t2
USING(Id)
WHERE xxxx
Проблема заключается в том, что вы получаете коллизии имен столбцов, поскольку они являются одинаковыми исходными таблицами / столбцами в каждом.
Есть ли способ избежатьэто, но все еще использовать '*'?Я проверил документ и не вижу никаких опций в standardSQL
В идеале, я бы просто хотел, чтобы к проекциям с подстановочными знаками применялся префикс, а не псевдонимы для каждого столбца по отдельности / вручную, так как многие наши таблицы очень широки.и изменить, и ручная прокрутка просто трудоемка
например, я хотел бы иметь возможность сделать что-то вроде этого, чтобы префикс каждого столбца T2 со строкой "t2 _"
SELECT t1.*, t2.* PREFIX("t2_")
FROM `t` t1
JOIN `t` t2
USING(Id)
WHERE xxxx
В настоящее время, вероятно, не существует такого чистого решения, если только я не пропустил его в doco (надеюсь, что так!), Если есть какое-либо временное решение SQL, использующее другие методы, пожалуйста, дайте мне знать!
Спасибо!