Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Zapytanie
potreb
post
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
  1. SELECT a.name,a.id, b.namecell,b.id_dep FROM dep a, celldep b WHERE a.id=b.id_dep ORDER BY name


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
potreb
post
Post #2





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:
  1. SELECT name,namecell
  2. FROM dep LEFT JOIN celldep ON dep.id = celldep.id_dep WHERE dep.id = celldep.id_dep ORDER BY name


Ten post edytował potreb 2.04.2009, 20:41:31
Go to the top of the page
+Quote Post

Posty w temacie


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: 17.10.2025 - 15:45