Я использую стандартную конфигурацию LAMP для apache2 (mysql и php5) и кодировку UTF8.mysql query, возвращающий двойные строки
У меня есть четыре таблицы.
Первый из названных articles
и имеет 6 колонок:
id INT(11) AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(1000),
posted (TIMESTAMP)
author_id INT(11),
extract TEXT,
body TEXT
Второй называется authors
id INT(11) AUTO INCREMENT PRIMARY KEY,
name VARCHAR(100),
img VARCHAR(100),
bio TEXT
Третий называется categories
id INT(2) AUTO_INCREMENT PRIMARY KEY,
cat_name VARCHAR(100)
а также четвертый - article_categories
id INT(2) AUTO_INCREMENT PRIMARY KEY,
article_id INT(11),
category_id INT(2)
Теперь то, что я хочу, чтобы написать запрос MySQL, который будет найти название, имя автора и cat_name статьи. До сих пор я придумал это, и он возвращает 10 строк, в основном все категории, которые я настроил. (Я создал одну статью с 2 категориями и 5 категорий в таблице категорий).
Это мой запрос:
SELECT articles.title, authors.name, categories.cat_name
FROM articles, authors, categories, article_categories
WHERE title LIKE '%introduction%';
и мой результат:
+------------------------+-----------------------+--------------+
| title | name | cat_name |
+------------------------+-----------------------+--------------+
| An introduction to ptc | Yannick Šušteršič | free |
| An introduction to ptc | Yannick Šušteršič | free |
| An introduction to ptc | Yannick Šušteršič | members-only |
| An introduction to ptc | Yannick Šušteršič | members-only |
| An introduction to ptc | Yannick Šušteršič | milestone |
| An introduction to ptc | Yannick Šušteršič | milestone |
| An introduction to ptc | Yannick Šušteršič | basic |
| An introduction to ptc | Yannick Šušteršič | basic |
| An introduction to ptc | Yannick Šušteršič | advanced |
| An introduction to ptc | Yannick Šušteršič | advanced |
+------------------------+-----------------------+--------------+
Есть ли способ, чтобы отображать только статью один раз, со всей соответствующей категории имени в одной строке?
Если нет, то как я могу получить только релевантные результаты? Что я делаю не так? Благодаря
Хорошо, я создал запрос с помощью anwsers предложил, и теперь я получаю 2 строки. Если я использую GROUP на них, он будет отображать только одну строку с одним cat_name, но мне нужны оба. Есть ли способ сделать это, или мне нужно сортировать результаты по PDO/jQuery? –