За последние 24 часа нас посетили 16778 программистов и 1647 роботов. Сейчас ищут 954 программиста ...

Помогите с сложным запросом

Тема в разделе "PHP и базы данных", создана пользователем kamil-chelny, 8 янв 2010.

  1. kamil-chelny

    kamil-chelny Активный пользователь

    С нами с:
    28 май 2009
    Сообщения:
    26
    Симпатии:
    0
    Всем привет! Нужна помощь. Написал для себя маленький форум. После хочется, чтобы на главной странице выводилось последние 10 сообщений, но чтобы темы не повторялись и показывалось всегда последние сообщение.

    вот структура БД:

    idmsg | idtema | iduser | date | time | msg |

    Результат должен быть в таком виде:

    tema | idmsg | iduser |

    Код (Text):
    1.  
    2. $sql=mysql_query("
    3.     SELECT t.tema,t.idtema,u.nic,u.family,u.name,u.otchestvo,m.idmsg,u.iduser,m.date,m.time,c1.idcategory as idcategory2,c2.idcategory as idcategory1
    4.     FROM forum_msg m
    5.     INNER JOIN forum_tema t ON t.idtema=m.idtema
    6.     INNER JOIN users u ON u.iduser=m.iduser
    7.     INNER JOIN forum_category c1 ON c1.idcategory=t.idcategory
    8.     INNER JOIN forum_category c2 ON c2.idcategory=c1.idparent
    9.     GROUP BY t.idtema
    10.     ORDER BY m.idmsg DESC
    11.     LIMIT 0,10
    12. ");
    У меня так не получается, помогите
     
  2. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    При GROUP BY мы получаем результат не по записи, а результат по группе.
    Я знаю два способа построить нужный запрос:
    1) Выбираем все темы и join'им к ним первую запись.
    2) Делаем такой же запрос ка сейчас, только вместо group by используем where со связанным подзапросом.

    Суть одна и та же, да и подзапросы получаются примерно одинаковые, поэтому что лучше я не знаю. Надо мерить.
     
  3. kamil-chelny

    kamil-chelny Активный пользователь

    С нами с:
    28 май 2009
    Сообщения:
    26
    Симпатии:
    0
    я сделал .Тема закрыта
     
  4. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Если это сложный запрос, то я голубой трамвай :D
    З.Ы. Это была ирония