FETCH_ASSOC и ВЫБОР * ОТ двух таблиц с тем же именем столбца

У меня есть партия таблиц MySQL с тем же именем столбца. Таким образом, я ищу PDO или взлом SQL для ВЫБОРА * ОТ большего количества таблиц - который возвратит имена таблиц в наборах результатов.

Пример:

'SELECT * FROM table0, table1';

Где обе таблицы имеют столбец 'имени'. Но результат FETCH_ASSOC возвращает только одно 'имя' - последнее.

Результат:

echo $result["name"];

Требуемый результат:

echo $result["table0.name"];
echo $result["table1.name"];
...

Отметьте это

  1. Я не могу переименовать столбцы DB, чтобы быть уникальным
  2. Я не могу вручную создать псевдоним для каждого столбцы (партия таблиц/столбцы)
  3. Я хочу имя в наборе результатов не числа как FETCH_NUM

Какие-либо идеи?Спасибо!

1
задан Raj More 23 June 2010 в 13:54
поделиться

2 ответа

Hack не существует, нужно создавать псевдонимы.

1
ответ дан 2 September 2019 в 23:33
поделиться

Вы сказали, что не хотите псевдонизировать все колонки, потому что их слишком много, но не рассматривали ли вы возможность псевдонизировать только те, которые создают проблемы?

SELECT
    *, 
    table0.name AS t0name,
    table1.name AS t1name
FROM table0 JOIN table1 ON ...
1
ответ дан 2 September 2019 в 23:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: