Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> określenie liczby wyników według innych kryteriów
bulimaxiu
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 18.06.2008
Skąd: Reda

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


Witam.

Mam zapytanie tego typu
  1. SELECT `table1`.*, `table2`.`id2` FROM `table1`
  2. JOIN LEFT `table2` ON `table2`.`id2` = `table1`.`id`
  3. WHERE ...... (criteria)
  4. LIMIT 0, 5


Rezultatem jest tabelka składająca się z pięciu wierszy:
1, Imię1, Nazwisko1, 1
1, Imię1, Nazwisko1, 2
1, Imię1, Nazwisko1, 3
1, Imię1, Nazwisko1, 4
1, Imię1, Nazwisko1, 5

Czy można, a jeśli to jak zmodyfikować zapytanie, żeby rezultatem było 5 imion i nazwisk oraz wszystkie identyfikatory `id2`, czyli np.
1, Imię1, Nazwisko1, 1
1, Imię1, Nazwisko1, 2
2, Imię2, Nazwisko2, 5
2, Imię2, Nazwisko2, 6
...
5, Imię5, Nazwisko5, 10
(w sumie pięć imion i nazwisk i wszystkie możliwe `id2`

Oczywiście wiem jak to podzielić w PHP na 2 zapytania, że pobiera listę imion i nazwisk a potem do każdego szuka `id2`, ale może da się to w jednym zapytaniu.

(Jeśli temat jest nieprawidłowy, proszę o sugestie, bo nie wiem jak to inaczej zatytułować.)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bulimaxiu
post
Post #2





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 18.06.2008
Skąd: Reda

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


Powiązanie jest, bo otrzymuję rezultat powiązania i to powiązanie działa prawidłowo. Problemem jest tylko to, że jak daję limit 5 rezultatów, to dostaję w sumie 5 pozycji zawierających 3 nazwiska (i to z niekompletną listą powiązań), a potrzebuję otrzymać 9 pozycji zawierających 5 nazwisk ze wszystkimi powiązaniami.

Czyli tak jakby trzeba było rozbić zapytanie, że najpierw pobiera listę 5 nazwisk, a potem szuka do nich wszystkich powiązań.

Ten post edytował bulimaxiu 11.07.2016, 10:30:00
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: 29.12.2025 - 14:36