Псевдоним полей всей таблицы - PullRequest
0 голосов
/ 04 мая 2019

Допустим, я запрашиваю / объединяю две таблицы, каждая с определенными одинаковыми именами полей:

SELECT * FROM sales1 s1 JOIN sales2 s2 USING (id)

Возможно ли префикс столбцов для каждой таблицы с именем таблицы (или каким-либо другим префиксом), поэтомунапример, вместо получения данных, таких как:

id   id    product     product    etc.

Это выглядит так:

s1_id     s2_id     s1_product       s2_product     etc.

Без выполнения этого вручную для каждого поля?

1 Ответ

2 голосов
/ 04 мая 2019

В MySQL вы можете сделать:

EXPLAIN SELECT * FROM sales1 s1 JOIN sales2 s2 USING (id);

Далее:

SHOW WARNINGS;

Это покажет вам переписанную версию исходного запроса с полностью указанными в кавычках именами столбцов и таблиц.например, так:

/* select#1 */ select `dbname`.`s1`.`id` AS `id`,`dbname`.`s1`.`product` AS `product`,`dbname`.`s2`.`product` AS `product` from `dbname`.`sales1` `s1` join `dbname`.`sales2` `s2` where (`dbname`.`s2`.`id` = `dbname`.`s1`.`id`)

Затем вам нужно выполнить регулярное выражение найти-заменить.Так что да, делайте это вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...