Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] kategorie
Forum PHP.pl > Forum > Bazy danych > MySQL
memory
Witam mam relacje wiele-do-wielu

  1. SELECT news.*, GROUP_CONCAT(DISTINCT kategorie.nazwa SEPARATOR ', ') AS tagi
  2. FROM news LEFT JOIN komentarze ON komentarze.id=news.id
  3. LEFT JOIN tag ON (news.id=tag.newsid) LEFT JOIN kategorie ON (tag.katid=kategorie.idkat)
  4. WHERE kategorie.nazwa LIKE 'ciekawostki%'
  5. GROUP BY news.autor


Wyswietla wszytkie kategorie newsa.
np
News | kategorie : ciekawostki , ogolnie, php
News1 | kategorie : ciekawostki , strona, php
News2 | kategorie : ogolnie, strona, php

  1. WHERE kategorie.nazwa LIKE 'ciekawostki%'


Ma za zadanie wyszukanie wszystkich newsow z kategoria ciekawostki
Wyswietla mi np

News | kategorie : ciekawostki
News1 | kategorie : ciekawostki

A chcialbym zeby wyswietlilo wszystkie kategorie newsow wsrod odnalezionych
np

News | kategorie : ciekawostki , ogolnie, php
News1 | kategorie : ciekawostki , strona, php


Dziekuje za pomoc
prond
  1. SELECT news.*, GROUP_CONCAT(DISTINCT kategorie.nazwa SEPARATOR ', ') AS tagi
  2. FROM news LEFT JOIN komentarze ON komentarze.id=news.id
  3. LEFT JOIN tag ON (news.id=tag.newsid) LEFT JOIN kategorie ON (tag.katid=kategorie.idkat)
  4. WHERE news.id IN (SELECT news.id FROM news LEFT JOIN komentarze ON komentarze.id=news.id
  5. LEFT JOIN tag ON (news.id=tag.newsid) LEFT JOIN kategorie ON (tag.katid=kategorie.idkat) WHERE kategorie.nazwa LIKE 'ciekawostki%')
  6. GROUP BY news.autor
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.