Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Duplikat rekodów
NoSleep2
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 8.05.2015

Ostrzeżenie: (10%)
X----


Witam,
Mam pewne zapytanie :
  1. SELECT DISTINCT n.name AS User, n.passwd AS PASSWORD, inet_ntoa(ipaddr) AS IP_KLIENT, t.name AS Taryfa FROM nodes n, nas, nodeassignments AS na, assignments AS a, tariffs AS t WHERE n.nasid = nas.id AND n.id = na.nodeid AND na.assignmentid = a.id AND a.tariffid = t.id AND nas.nasname ='Tutaj IP' ORDER BY nas.id DESC;


Z tego zapytania wychodzi mi wynik:
np:
User | PASSWORD | IP_KLIENT | Taryfa
+--------------+---------------------+-------------+----------------+--------------
cze****@**** | ******** | Tutaj IP Klienta | NT4-8MB/2,5MB
marvzena@**** | ******** | Tutaj IP Klienta | NT5-10MB/3MB
kar**ol@**** | ******** | Tutaj IP Klienta | NT6-12MB/3,5MB
jsluv**pik@**** | ******** | Tutaj IP Klienta | Internet-Pakiet Złoty
mwa**tola@**** | ******** | Tutaj IP Klienta | NT4-8MB/2,5MB
dgl**owa@**** | ******** | Tutaj IP Klienta | NT4-8MB/2,5MB
rkapi****ca@**** | ******** | Tutaj IP Klienta | NT5-10MB/3MB
blu****ks@**** | ******** | Tutaj IP Klienta | NT7-16MB/4MB
jhan****usek@** | ******** | Tutaj IP Klienta | NT3-6MB/2MB

W powyższym wyniku parę razy powtarza się : "NT4-8MB/2,5MB".
Nie wiem jak zrobić, żeby taryfa nie powtarzałą się:
Proszę o pomoc

Pozdrawiam
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Jaki chcesz otrzymać wynik na podstawie tej próbki danych?


--------------------
Go to the top of the page
+Quote Post
NoSleep2
post
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 8.05.2015

Ostrzeżenie: (10%)
X----


Np.:
User | PASSWORD | IP_KLIENT | Taryfa
+--------------+---------------------+-------------+----------------+--------------
cze****@**** | ******** | Tutaj IP Klienta | NT4-8MB/2,5MB
marvzena@**** | ******** | Tutaj IP Klienta | NT5-10MB/3MB
kar**ol@**** | ******** | Tutaj IP Klienta | NT6-12MB/3,5MB
jsluv**pik@**** | ******** | Tutaj IP Klienta | Internet-Pakiet Złoty
mwa**tola@**** | ******** | Tutaj IP Klienta |
dgl**owa@**** | ******** | Tutaj IP Klienta |
rkapi****ca@**** | ******** | Tutaj IP Klienta |
blu****ks@**** | ******** | Tutaj IP Klienta | NT7-16MB/4MB
jhan****usek@** | ******** | Tutaj IP Klienta | NT3-6MB/2MB
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


  1. SELECT user, password, ip_klient, IF(@poprzednia_taryfa<>taryfa,taryfa,''), IF(@poprzednia_taryfa<>taryfa,@poprzednia_taryfa:=taryfa, TRUE)
  2. FROM tabela,(SELECT @poprzednia_taryfa:='') AS poprzednia_taryfa
  3. ORDER BY taryfa

Ale wydaje mi się, że będzie to zupełnie nieprzydatne dla Ciebie i okaże się, że jednak oczekujesz innego wyniku niż podałeś.

Ten post edytował trueblue 2.08.2017, 14:22:21


--------------------
Go to the top of the page
+Quote Post
NoSleep2
post
Post #5





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 8.05.2015

Ostrzeżenie: (10%)
X----


ERROR 1267 (HY000): Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_polish_ci,IMPLICIT) for operation '<>'
Go to the top of the page
+Quote Post
trueblue
post
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Pozmieniaj
  1. @poprzednia_taryfa<>taryfa

na
  1. @poprzednia_taryfa<>taryfa COLLATE utf8_polish_ci
lub
  1. @poprzednia_taryfa<>taryfa COLLATE utf8_general_ci


--------------------
Go to the top of the page
+Quote Post
NoSleep2
post
Post #7





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 8.05.2015

Ostrzeżenie: (10%)
X----


Super działa dzięki za pomoc !
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 04:01