Google

Kategorie

Reprezentacja Wiedzy

Kalendarz

May 2007
M T W T F S S
    Jun »
 123456
78910111213
14151617181920
21222324252627
28293031  

MySQL GROUP_CONCAT

May 22nd, 2007 by prond

Ostatnimi czasy mam styczność wieloma projektami Web 2.0.

Typowym elementem w takich projektach są tagi. Nie tak dawno trafiłem na bardzo przyjemną funkcję MySQL’a, która pięknie pasuje do wyciągania z bazy tagów danego post’u w postaci stringa:

SELECT
  posts.*,
  GROUP_CONCAT(tags.name SEPARATOR ', ')
FROM
  posts
    LEFT JOIN posts_tags
      ON (posts.id = posts_tags.post_id)
    LEFT JOIN tags
      ON (posts_tags.tag_id = tags.id)
GROUP BY
  posts.*;

Naturalnie w wielu przypadkach wygodniejsze będzie operowanie na tagach zebranych do tablicy (dlatego proszę nie czepiajcie się w tej kwestii) - ten przykład podałem, żeby pokazać całkiem miły feature MySQL’a.

Posted in MySQL |

One Response

  1. SongoQ Says:

    Fajny przykladzik.

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.