LewyM1
31.10.2012, 22:39:37
Witam,
Chciałbym utworzyć zapytanie, które usuwałoby powtarzające się wyniki, tylko kompletnie nie wiem jak to zapisać. Bardzo proszę o pomoc.
Pozdrawiam
Damonsson
31.10.2012, 22:41:24
Zielonkawy18
1.11.2012, 08:10:29
1. Dać N-1 warunków, gdzie N to liczba tabel w selekcie.
2. Zastosować funkcę DISTINCT bądź ze względów optymalizacyjnych NOT EXIST.
LewyM1
1.11.2012, 15:10:52
Mógłby mi ktoś pomóc zapisać takie zapytanie? Chciałbym odczytać z bazy danych wszystkich użytkowników, z którymi dany użytkownik rozpoczął "rozmowę". W tabeli zapisuję user1 - użytkownik, który wysyła wiadomość i user2 - odbierający. Bardzo proszę o pomoc.
Dzięki z góry.
Pozdrawiam
Zielonkawy18
1.11.2012, 15:23:23
Rozpisz mi strukturę tej tabeli. To jest jedna tabela? Jeśli tak to pewnie będzie trzeba uzyć selfjoina, ale nie rozumiem Cię na razie. Rozpisz mi tutaj swoje pola.
Pozdrawiam.
LewyM1
1.11.2012, 15:31:07
Zielonkawy18
1.11.2012, 15:33:47
Jeżeli chcesz wiedzieć z kim user1=2 prowadził rozmowy to:
SELECT user2 FROM nazwa_tabeli WHERE user1=2
EDIT: ale ja bym tutaj chyba zrobił relację wiele do wielu. Albo 1 do wielu.
LewyM1
1.11.2012, 15:50:16
Ułożyłem dokładnie takie same zapytanie, tylko problem w tym, że wyniki się powtarzają, gdy wiadomości odebranych jest więcej niż 1.
SELECT user2 FROM pw WHERE user1 = '".popraw($_SESSION['id'])."' ORDER BY id DESC LIMIT ".$pierwszy." , 10
Zielonkawy18
1.11.2012, 15:55:48
Rozumiem, że jeżeli użytkownik prowadził już 2 razy rozmowę chcesz aby wyświetliło raz. Ok.
SELECT user2 FROM nazwa_tabeli WHERE user1=2 GROUP BY user2
LewyM1
1.11.2012, 15:59:36
Dokładnie o to mi chodziło. Dzięki wielkie, oczywiście plusik leci!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.