Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wybranie rekordów z powtarzającymi się wartościami
kmyr
post 10.07.2009, 23:44:20
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.06.2008
Skąd: Szczecin

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


Witam.

Załóżmy, że mam tabelę klienci: id nazwisko numer1 numer2 numer3.
Chciałbym znaleźć id klientów, których nazwisko lub któryś numer jest jak innego klienta.

  1. SELECT k1.id_klient FROM klienci k1, klienci k2 WHERE k1.nazwisko=k2.nazwisko OR k1.numer1=k2.numer1 OR k1.numer1=k2.numer2 OR k1.numer1=k2.numer3 OR k1.numer2 = k2.numer2...


Da się to zrobić jakoś ładniej/sprytniej? W szczególności chodzi mi o to, żeby nie korzystać z dwóch aliasów tej samej tabeli i nie wyliczać wszystkich kombinacji numerów...

Ten post edytował kmyr 10.07.2009, 23:46:41
Go to the top of the page
+Quote Post
ayeo
post 11.07.2009, 08:52:24
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Witam!

Wydaje mi się, że nie unikniesz tego przy takiej strukturze bazy. Pola typu numer1, numer2, numer3 są problematyczne. Jeden z 1000 userów chce dodać numer4 i musisz zmieniać bazę. Trzymaj numery w osobnej tabeli (id, number, user_id).
Jeżeli czegoś nie da się zrobić wygodnym zapytaniem to znaczy, że masz coś nie tak z bazą smile.gif

Pozdrawiam!


--------------------
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 Wersja Lo-Fi Aktualny czas: 22.06.2025 - 00:59