![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam dwie tabele:
dep: id | name celldep: id | namecell | id_dep Pobieram rekordy jednym zapytaniem
Dane zostają wyświetlane, jednak nazwa z tabeli dep powiela mi się dla każdego rekordu z celldep. Jak załatwić tą sprawę. Chodzi mi o stworzenie optymalnego zapytania do bazy, aby pobrane dane wczytywały się szybko. Zaznaczę że kategorii w tabeli dep jest około 30 a rekordów w celldep blisko 240. |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
zrobiles raczej dobrze. Ja bym jednak zamiast from tabela1, tabela2 uzyl left join tabela2
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No właśnie, moje zapytanie pobiera dane z dwóch tabel a do łączenia służy left join.
Próbowałem to zrobić za pomocą left joina, ale wychodził większy miks niż przedtem, nie wiem dokładnie na jakiej zasadzie to działa, choć czytałem trochę, ale na łopatologiczny umysł nie działa, więc prosiłbym o jakieś wskazówki lub przykład. Wiem, że jest jeszcze wersja DISTINCT, ale raczej to się nie przyda Z left join, efekt taki sam jak poprzednio:
Ten post edytował potreb 2.04.2009, 20:41:31 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
nie obejdziesz tego. moglbys to rozbijac na kilka zapytan ale po co?
Tu masz moj przyklad z grupowaniem wynikow. Masz tam left joina http://nospor.pl/grupowanie-wynikow-n35.html Cytat Z left join, efekt taki sam jak poprzednio: No i prawidlowo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ja nie mowilem ze bedzie inny efekt, tylko ze lepiej dac left join (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No okey, przyjrzę się temu dokładnie.
Niedawno testowałem drzewo oparte na php i mysql i ładnie wszystko chodzi. Nie wiem czy zastosowanie drzewa jest opłacalne? Chcę wszystko zrobić w jednym zapytaniu aby nie obciążać serwera i nie potrzebnie robić zapętlanie. Zrobiłem test na localu, fajny art. Dzięki wielkie! Ten post edytował potreb 2.04.2009, 21:13:46 |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
drzewo do tej sytuacji? bez przesady (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No tak, tylko, że ja mam jeszcze kategorie, podkategorie, produkty więc to co innego. Nie wiem czy nie potrafię czegoś zrobić ale z twoim przykładzie są pokazane nazwy produktów. A jak zrobić np jeszcze ilość tych produktów id produktu i więcej danych??
|
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat kategorie, podkategorie, produkty więc to co innego no w takim razie to tak.Cytat Nie wiem czy nie potrafię czegoś zrobić ale z twoim przykładzie są pokazane nazwy produktów. A jak zrobić np jeszcze ilość tych produktów id produktu i więcej danych Wejdź jeszcze raz do arta. Zmodyfikowałem w nim Przykład 1 o pobieranie więcej danych produktu. Teraz jak bedziesz chciał jeszcze coś dołożyc to już chyba sobie poradzisz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, wielkie za pomoc. Teraz elegancko mi idzie. Z resztą już sobie poradziłem wcześniej. Szkoda, że dla mysql nie ma żadnego fajnego algorytmu, który tworzyłby drzewo. Listowanie wszystkich kategorii, podkategorii, produktów. Wcześniej robiłem to wszystko na bazie access-a, niestety jak dla mnie był strasznie oporny.
Zostanie mi stworzenie panelu zarządzania, ale dzięki twojemu rozwiązaniu będzie to o wiele przejrzyste. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 16:09 |