2010-09-27 5 views
1

Я пытаюсь создать систему фотоальбомов в php и mysql. У меня есть этот код для списка всех фотоальбомов:Выбор id и count (id) из таблицы в mysql

SELECT albums.*, count(pictures.id) AS countpic 
FROM albums 
LEFT JOIN pictures ON (albums.id=pictures.album_id) 
GROUP BY albums.id 
ORDER BY albums.date DESC"); 

Я хочу перечислить название фотоальбомов с фото миниатюр (thumb_id си написанным в таблице картинках), а также с числом всех снимков, назначенных для каждого альбома.

Разве вы не знаете, как выбрать thumb_id, а также количество всех фотографий в альбоме с помощью одного выбора?

Благодаря

ответ

3

ли добавление group_concat(pictures.thumb_id) в списке выбора делать то, что вам нужно?

+0

спасибо .. это нормально, когда я хочу использовать случайное изображение для альбома thumbnail..but what if I want to select specific picture? (например, изображение с условием: picture.is_thumb = '1') – Bajlo

+0

@Bajlo - См. ответ на это. В противном случае вы можете обновить свой вопрос с помощью образца желаемого результата. –

2

Это будет работать, если для каждого альбома есть одно изображение с is_thumb = 1.

SELECT 
    albums.*, 
    count(pictures.id) AS countpic, 
    group_concat(pictures.thumb_id) ids, 
    group_concat(case when picture.is_thumb then pictures.thumb_id else '' end separator '') thumb 
FROM albums 
LEFT JOIN pictures ON (albums.id=pictures.album_id) 
GROUP BY albums.id 
ORDER BY albums.date DESC"); 
Смежные вопросы