У меня есть таблица с тегами. Он имеет идентификаторы столбцов, tagTypeId и tagName. Каждый элемент может иметь много тегов. Для каждого элемента я хочу выбрать первые теги с tagTypeId 1, 2 и 3. Я попытался добавить 3 почти идентичных левых соединения внутри моего запроса, которые работали неплохо, но он был значительно медленным (например, 5 секунд с небольшим количеством данных в таблицах)MySQL выбор тегов
это что-то вроде
select i.*, tag1.name, tag2.name, tag3.name from items i
left join (select t.id, t.tagName as name from tags t where t.tagTypeId=1) tag1 on ...
left join (select t.id, t.tagName as name from tags t where t.tagTypeId=2) tag2 on ...
left join (select t.id, t.tagName as name from tags t where t.tagTypeId=3) tag3 on ...
Как я могу добиться этого лучше, в один присоединиться?
Что вы имеете в виду "выбрать первые теги? что? – carexcer