2009-11-03 2 views
1

У меня есть две или более таблицы, содержащие значения под тем же именем столбца. Теперь, когда я присоединяюсь к этим двум таблицам, имена столбцов остаются неизменными. При получении этих значений в PHP ($ row ['name']) я сталкиваюсь с проблемами, поскольку имя столбца используется дважды.Получение значений MYSQL для ввода значений из PHP

Есть ли какие-либо возможные способы разделения этих двух столбцов внутри запроса?

SELECT * 
    FROM stories s 
    JOIN authors a ON a.id = s.authorid 

Таблица истории идентификатор, название, содержание, дата

Таблица Авторы идентификатор, имя, дата

Когда я присоединиться к этим два я получаю одну таблицу с похожими столбцами «имя».

Есть ли какое-либо разделение двух таблиц, чтобы таблица автора имела префикс перед ним? Например. authors_name/authors_ *

ответ

5

Да, изменить SQL таким образом:

SELECT 
    s.Id as StoryId, 
    s.Name as StoryName, 
    a.Id as AuthorId, 
    a.Name as AthorName, 
FROM stories s 
JOIN authors a ON a.id = s.authorid 

Тогда в PHP, используйте StoryId, StoryName, AuthorID и AthorName вместо Id или имя.

Надеюсь, это поможет вам.

+0

Спасибо, это должно было сделать трюк, однако я надеялся, что смогу добавить префикс, который автоматически добавит что-то вроде authors_ * – SyntaxError

+0

К сожалению, похоже, что автоматического префикса нет. Если этот ответ в порядке, не забудьте «принять» его: p –

1

Да, есть!

SELECT *, stories.name AS s_name, authors.name AS a_name 
FROM stories s 
JOIN authors a ON a.id = s.authorid 

И у вас оно есть. Все поля плюс два дополнительных! ;)

Надеюсь, это поможет.

+0

Спасибо! Я ценю все ваши ответы. Я бы лично добавил благодарственное письмо всем, так как я новичок в SO. – SyntaxError

0

К сожалению, вы не можете действительно префиксы на уровне поля, но если вы можете вызвать 2 запросов, просто используйте

SELECT s.* 
FROM stories s 
JOIN authors a ON a.id = s.authorid 

Результирующий набор будет содержать только рассказы полей и вы можете использовать поля, как вы обычно с php. Тогда просто сделайте то же самое для авторов.

Смежные вопросы