Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wybranie rekordów z powtarzającymi się wartościami
Forum PHP.pl > Forum > Bazy danych
kmyr
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...
ayeo
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!
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.