У меня возникли трудности с построением нескольких многомерных запросов.Заголовок результата запроса после выбора влево
Моя проблема заключается в том, что, например, этот запрос:
SELECT
persons.name,
contacts.email
FROM
persons
LEFT JOIN
contacts ON persons.person_ID = contacts.person_ID
LIMIT 0,10;
Возвращает 2 колонки, как и должно быть, 1 столбец с именем: «имя», а другой столбец с именем «электронная почта».
Но так, как я хочу, чтобы вернуть мне заголовки, как это:
'persons.name'
и
'contacts.email'
(я не хочу, чтобы создать представление, а также использовать псевдонимы, или подзапросов)
Возможно ли это? ЕСЛИ да как?
Заранее благодарю вас за помощь.
Чтобы дать более подробную информацию:
Я хранения БД запросов, основной таблицы и столбцы в таблице. Затем столбцы встроены в массив, и на основе этого массива я создаю запрос.
Бывают случаи, когда столбцы являются подзапросами, иногда они являются только ячейками таблицы, а иногда они представляют собой значения из двух или более столбцов
Моя проблема заключается в том, что после построения запроса динамически, я должен показать его, но если массив, содержащий имена заголовков определяется как table.colname,
print $row[$array[column_name]]
вычисляет print $row[persons.name]
Но индекс, который генерирует сервер mysql, является «имя», а не «person.name»
, который также должен работать, но если в запросе есть два имени, в нем это неоднозначно, и я не вижу возможность передать условие where после выполнения запроса.
Вот почему я не хочу использовать псевдонимы в первую очередь
Почему вы не хотите использовать псевдонимы? – Ryan
Псевдонимы будут правильным решением. – Matt
Если вы не хотите использовать псевдонимы, тогда дайте столбцам таблицы эти имена без. вместо этого используйте оболочку верблюда или подчеркивание –