Вложенный select и join

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
big_mike
Сообщения: 113
Зарегистрирован: 2013.02.26, 01:12

Вложенный select и join

Сообщение big_mike »

Есть запрос:

Код: Выделить всё

select x.type_id, cat.title, x.title, x.create_time, x.cat_id, x.content_short
                from (
                   select items.type_id, cat.title, items.title as item_title, items.create_time, items.cat_id, items.content_short,
                      @num := if(@type = items.type_id, @num + 1, 1) as row_number,
                      @type := items.type_id as dummy
                  from objects items
                  join category cat on items.cat_id = cat.id
                  order by items.type_id, items.create_time
                ) as x
                join category cat on x.cat_id = cat.id
                where x.row_number <= 2; 
Запрос делает выборку по 2 элемента каждого типа. Хочу еще сделать join таблицы категорий. Но в таком случае как сейчас матерится на дубликат полей title. Пробовал cat.title as cat_title - тщетно. Как в такой ситуации поступить?
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Вложенный select и join

Сообщение SiZE »

У меня твой запрос выполнился без проблем. Но я не понимаю, как база может ругаться на дубликат полей? Если ты делаешь так: SELECT one.title, two.title, three.title FROM ... у тебя возвращен будет three.title. Если подразумевается ambiguous то это значит алиасы не указаны для полей из разных таблиц имеющих одинаковые имена, т.е. SELECT title FROM one, two
Ответить