Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Problem z duplikatami w zapytaniu MySQL
Forum PHP.pl > Forum > Przedszkole
northwest
Witam serdecznie,
Mam takie zapytanie MySQL:
  1. SELECT cms_uslugi.*, `cms_grupy_uzytkownikow`.bf_id AS grupa FROM cms_uslugi LEFT OUTER JOIN `cms_uslugipracownikow` ON (`cms_uslugi`.`bf_id` = `cms_uslugipracownikow`.`bf_iduslugi`) LEFT OUTER JOIN `cms_users` ON (`cms_uslugipracownikow`.`bf_idusers` = `cms_users`.`bf_id`)
  2. LEFT OUTER JOIN `cms_grupy_uzytkownikow` ON (`cms_users`.`grupy_uzytkownikow` = `cms_grupy_uzytkownikow`.`bf_id` OR `cms_users`.`grupy_uzytkownikow2` = `cms_grupy_uzytkownikow`.`bf_id`) WHERE cms_uslugi.enable='1' AND (cms_users.grupy_uzytkownikow = 20 OR cms_users.grupy_uzytkownikow2 = 20 )AND cms_uslugi.bf_idfilia='12' AND cms_users.filia = 12 GROUP BY cms_uslugi.bf_id, grupa ORDER BY nazwa ASC


problem w tym,że przy większej ilości danych zapytanie to zwraca mi duplikaty.... duplikaty można odseparować po dublującym się bf_id....
nie bardzo wiem jak zapisać taki filtr... sad.gif Macie może jakiś pomysł?
tolomei
Witaj.

Zacznij swoje zapytanie od:

  1. SELECT DISTINCT ...


Pozdrawiam
northwest
próbowałem coś takiego:
  1. SELECT DISTINCT cms_uslugi .bf_id, cms_uslugi . * , `cms_grupy_uzytkownikow`.bf_id AS grupa
  2. FROM cms_uslugi
  3. LEFT OUTER JOIN `cms_uslugipracownikow` ON ( `cms_uslugi`.`bf_id` = `cms_uslugipracownikow`.`bf_iduslugi` )
  4. LEFT OUTER JOIN `cms_users` ON ( `cms_uslugipracownikow`.`bf_idusers` = `cms_users`.`bf_id` )
  5. LEFT OUTER JOIN `cms_grupy_uzytkownikow` ON ( `cms_users`.`grupy_uzytkownikow` = `cms_grupy_uzytkownikow`.`bf_id`
  6. OR `cms_users`.`grupy_uzytkownikow2` = `cms_grupy_uzytkownikow`.`bf_id` )
  7. WHERE cms_uslugi.enable = '1'
  8. AND (
  9. cms_users.grupy_uzytkownikow =20
  10. OR cms_users.grupy_uzytkownikow2 =20
  11. )
  12. AND cms_uslugi.bf_idfilia = '12'
  13. AND cms_users.filia =12
  14. GROUP BY cms_uslugi.bf_id, grupa
  15. ORDER BY nazwa ASC
  16. LIMIT 0 , 30


i nie pomogło sad.gif
tolomei
Zdaje mi się, że masz powtórzoną kolumnę bf_id w pierwszej linii zapytania:

  1. cms_uslugi .bf_id, cms_uslugi . *


Może to jest trop ?
northwest
hmmm.... a jak to zapisać? :/ zamiast tego co dałem wymienić na to drugie?
tolomei
Daj sobie tak:

  1. SELECT DISTINCT cms_uslugi . *, `cms_grupy_uzytkownikow`.bf_id AS grupa


Mimo wszystko czuję, że to Ci nie pomoże.
Czekaj na kogoś bardziej pro niż ja.

Powodzenia.
northwest
nie pomogło, efekt ten sam :-(
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.