Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> DISTINCT z INNER JOIN
masif
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 29.01.2006
Skąd: Bielsko-Biała

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


Mam taki oto problem z zapytaniem:

Zapytanie:
  1. <?php
  2. $result = @mysql_query("SELECT * FROM users INNER JOIN miasta WHERE users.miasto=miasta.id AND bran
    za = $idkat AND flaga = "
    widoczny" ");
  3. ?>



Wyświetla mi wszystkie miasta z danej branży itd.
Jeżeli jest w danym mieście 3 takie firmy z branżą to to zapytanie wiadomo zwróci mi 3 razy nazwę miasta.

Chce zastosować DISTINCT przed polem miasto w tabeli users żeby wyświetliło nazwę miasta tylko raz
ale wtedy zanikają mi inne dane bo robie to tak:

  1. <?php
  2. $result = @mysql_query("SELECT DISTINCT miasto FROM users INNER JOIN miasta WHERE users.miasto=mias
    ta.id AND branza = $idkat AND flaga = "
    widoczny" ");
  3. ?>

A potrzebuje pobrać nie tylko miasto ale wszystko z tej tabeli users.


Jak w tym przypadku zastosować DISTINCT?

Ten post edytował masif 22.03.2007, 07:08:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Indeo
post
Post #2





Grupa: Zarejestrowani
Postów: 295
Pomógł: 7
Dołączył: 26.03.2004
Skąd: Opole

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


inner join'y są bardziej eleganckie (bardziej wiadomo o co chodzi w strukturze) i szybciej chodzą niż metoda wsypywania wszystkich tabel do jednego worka, a potem nakładanie filtrów, czy nawet podzapytania.
Jednak przy wybieraniu pojedynczych pozycji nie ma to większego znaczenia, natomiast przy operacjach na dużej liczbie rekordów różnice są znaczne.
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: 12.10.2025 - 13:45