2012-03-27 2 views
0

У меня есть 2 таблицы, faq и faq_categories, и я хочу присоединиться к ним, чтобы получить название категории из таблицы faq_categories.сделать этот код соединения mysql короче

Единственное поле, которое мне нужно из faq_categories, - это имя, а из таблицы faq мне нужны все поля.

У меня есть следующий синтаксис (который работает), который я хотел бы сделать короче.

Вот код:

 SELECT faq.faqid, faq.catid, faq.question, faq.question_en, faq.answer,  
     faq.answer_en, faq.sorder, faq.visible, 
     faq_categories.categoryname 
FROM faq 
JOIN faq_categories ON (faq.catid = faq_categories.catid) 

Я пытаюсь выбрать все поля с этим кодом:

SELECT * , faq_categories.categoryname 
FROM faq 
JOIN faq_categories ON (faq.catid = faq_categories.catid) 
LIMIT 0 , 30 

Но этот синтаксис возвращает мне все поля из обеих таблиц, которые не то, что я хочу , Я хочу получить все поля из faq и только categoryname из faq_categories.

Первые фрагменты кода работают, но я хочу сделать его короче, если это возможно.

Любая помощь будет глубоко оценена.

С уважением, Зоран

ответ

0

Использование faq.*. Просто используя * запросит все столбцы из всех таблиц.

SELECT 
    faq.* , 
    faq_categories.categoryname 
FROM faq 
    JOIN faq_categories ON (faq.catid = faq_categories.catid) 
LIMIT 0 , 30 

Однако обратите внимание, что, если не существует достаточно много столбцов в faq, как правило, рекомендуются, чтобы быть ясно, какие столбцы вы выбираете. Это позволяет вам указать порядок, в котором они происходят, и защищает вас от изменений схемы, что может привести к тому, что большое количество дополнительных столбцов будет вытягиваться, которые не нужны. Вероятно, ваш первый инстинкт явно указывать столбцы в вашем SELECT.

+0

Да, это делает трюк. Я смогу принять ваш ответ за 8 минут, из-за ограничений этого веб-сайта. Большое спасибо. У меня всего 10 полей в таблице faq, и мне все они нужны. Еще раз спасибо за вашу помощь. - Zoran – Zoran

1

faq.*, faq_catergories.categoryname

+0

да, работает, но я получаю все поля из обеих таблиц. то, что я хочу, это все поля из faq, и только название категории из faq_categories – Zoran

+0

Мой ответ ничем не отличается от Michael^^ !! Должен был поставить полный запрос;) –

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