Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyszukanie z dwóch rekordów w jednym zapytaniu
Forum PHP.pl > Forum > Bazy danych > MySQL
klawisz123
Witam,

Od razu zaznaczę, że z bazy danych nie jestem orłem. Mówiąc krótko w tabeli osoby mamy dwa rekordy imie i nazwisko. W aplikacji jest pole do wyszukania, w tym momencie jest to rozwiązane na likeach co jest dobre przy wyszukania albo przez imie albo przez nazwisko. Moje pytanie jak by tu można zrobić albo jakim poleceniem się posłużyć zęby znalazło fraze " 'imie' 'spacja' 'nazwsko' " coś typu połączenie dwóch rekordów i wyszukanie na nich uwzględniając spacje
  1. $query123 = "SELECT imie,nazwisko from uzytkownicy left join osoby on (`uzytkownicy`.`user_id` = `osoby`.`user_id`)
  2. WHERE osoby.user_id='$user' having osoby.imie like '".$szukaj."%' or osoby.nazwisko like '".$szukaj."%' ";
nospor
To nie są dwa rekordy, tylko dwie kolumny.

Do łączenia kolumn/tekstow uzywa sie CONCAT
klawisz123
Działa ! Dzięki serdeczne, Bóg zapłać smile.gif

niestety sad.gif nie do końca to rozwiązanie w moim przypadku jest dobre albo coś jeszcze brak. Mianowicie nie wiem jak moge teraz wyszukać również inne dane z tego samego wiersza. Imie i nazwiko mi się łączy ale jak chciałbym wyodrębnić dodatkowo adres e-mail tego samego użytkownika to nie wiem zabradzo jak?
Innna kwestią jest że np wyszuka mi imie spacja nazwiko oraz samo imie lub nazwisko ale już nazwisko spacja imie nie dziął :/

Kod jaki powstał to:
  1. $query123 = "SELECT CONCAT_WS(' ',imie,nazwisko) AS daneOsobowe from uzytkownicy left join osoby on (`uzytkownicy`.`user_id` = `osoby`.`user_id`)
  2. WHERE osoby.user_id='$user' having daneOsobowe like '%".$szukaj."%' ";
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.