Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Problem z duplikatami w zapytaniu MySQL
northwest
post
Post #1





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


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... (IMG:style_emoticons/default/sad.gif) Macie może jakiś pomysł?
Go to the top of the page
+Quote Post
tolomei
post
Post #2





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

Ostrzeżenie: (0%)
-----


Witaj.

Zacznij swoje zapytanie od:

  1. SELECT DISTINCT ...


Pozdrawiam
Go to the top of the page
+Quote Post
northwest
post
Post #3





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


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 (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
tolomei
post
Post #4





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

Ostrzeżenie: (0%)
-----


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 ?
Go to the top of the page
+Quote Post
northwest
post
Post #5





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


hmmm.... a jak to zapisać? :/ zamiast tego co dałem wymienić na to drugie?
Go to the top of the page
+Quote Post
tolomei
post
Post #6





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
northwest
post
Post #7





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


nie pomogło, efekt ten sam :-(
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 02:19