Здравствуйте!
у меня есть три таблицы!
news
id|title|text|test|qwer|trrr
1|test name|description|wer234|qqq
2|test nam2|description|wer234|qqq
3|test na3|description|wer234|qqq
4|test n4|description|wer234|qqq
5|test 5|description|wer234|qqq
type
id|type
1|type1
2|type2
3|type3
4|type4
5|type5
newsandtyp
news_id|type_id
1|2
1|5
1|1
2|3
2|4
5|5
5|2
5|3
таблица newsandtype
это связь многие-ко-многим, связь news
и type
так вот, как мне правильно сделать выборку записей из таблицы news
учитывая таблицу type
?
Например хочу вывести:
1 test name description type2,type5,type1 wer234
2 test nam2 description type3,type4 wer234
5 test 5 description type5,type2,type3 wer234
вывести данные таблицы news
+ данные таблицы type
только если есть связи в таблице newsandtype
Вам потребуется построить запрос с использованием JOIN, схема запроса указана ниже на рис.1:
Для этого выполним операцию пересечения INNER JOIN. Вывод записей из таблицы news будет зависить от таблицы newsrandtype, а сама таблица newsrandtype будет пересекаться с таблицей type. Зеленая зона на схеме обозначает операцию INNER JOIN.
Вот такой запрос выведет все данные, но здесь могут повторяться новости в зависимости от количества типов, но это можно обработать на серверной стороне.
SELECT `news`.*,
`type`.*
FROM `news`
JOIN `newsandtype` ON `newsandtype`.news_id = `news`.id
JOIN `type` ON `type`.id = `newsandtype`.type_id;
В другом случае, можно сделать группировку и вывести типы через запятую в поле types:
SELECT `news`.*,
GROUP_CONCAT(`type`.`type`) types
FROM `news`
JOIN `newsandtype` ON `newsandtype`.news_id = `news`.id
JOIN `type` ON `type`.id = `newsandtype`.type_id
GROUP BY `news`.id;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
ЗдравствуйтеКак написать PHP-скрипт, который будет "заходить" в панель, переходить в Network, брать ссылку и парсить ее?
Ошибку выдает в main, без понятия что это может быть Код мэйна: