Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: concat jak wyodrębnić inne kolumny z jednego wiersza
Forum PHP.pl > Forum > Bazy danych > MySQL
klawisz123
Witam,

Pisałem wcześniej ale nie roziwązałem do końca problemu, Mianowicie nie wiem jak moge wyszukać również inne dane z tego samego wiersza przy metodzie concat. 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ął :/
  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."%' ";
damian.1923
Spróbuj inaczej, np. tak:

  1. SELECT CONCAT_WS(' ', o.imie, o.nazwisko) AS daneOsobowe, u.email,
  2. FROM uzytkownicy AS u
  3. LEFT JOIN osoby AS o USING (user_id)
  4. WHERE CONCAT_WS(' ', o.imie, o.nazwisko, u.email) LIKE '%$search%'


dopracuj sobie zapytanie do twojego, podałem jedynie jako przykład.

HAVING używa się tylko w wyjątkowych i uzasadnioncych przypadkach, np przy grupowaniu...
klawisz123
sory z sqla nie jest za dobry, ale teraz nie wiem zabardzo jak moge się odwołać do tego u.emal w kodzie coś typu row[u.email] nie działa, a poza tym nie wiem czy dobrze to rozumiem ale tam wszukuje imie, nazwisko i emaila razem ? mi chodzi o wyszukanie przez imie bądź nazwiko lub razem imie_nazwisko lub nazwisko_imie i wszyszukania również e-maila należącego do tabeli osoby. Taki mi wyszedł kod gdzie neistety również nie dizała wyszukanie NP. kowalski Jan działa tylko jan kowalski
  1. $query123 = "SELECT CONCAT_WS(' ', o.imie, o.nazwisko) AS daneOsobowe, u.email
  2. from uzytkownicy As u left join osoby As o USING (`user_id`)
  3. WHERE o.user_id='$user' and concat_ws(' ',o.imie, o.nazwisko, u.email) like '%".$szukaj."%' ";
damian.1923
w zależności w której tabeli masz email, to jest albo u.email albo o.email,
warunki możesz łączyć w grupy:

  1. WHERE ... AND (CONCAT_WS(' ', o.imie, o.nazwisko, u.email) LIKE '%$search%') OR CONCAT_WS(' ', o.nazwisko, o.imie) LIKE '%$search%'))
nospor
Jeden problem, jeden temat
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.