Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Laczenie pol w warunkach
Forum PHP.pl > Forum > Bazy danych > MySQL
sivyer
Witam,

Mam tabele z danymi uzytkownikow

Tabela users
imie
nazwisko

Teraz chcialbym, nie muszac tworzyc dodatkowego pola w tabeli, podajac do skryptu np. szukaj = 'Jan Kowalski', bez koniecznosci rozbijania tej zmiennej na skladowe, wyszukac w tabeli odpowiednie dane, jesli mam tam Jana Kowalskiego zapisanego jako
imie = Jan
nazwisko = Kowalski

czyli by to jakos wygladalo tak, ze
[sql:1:6f42575f7c]SELECT * FROM users WHERE imie+nazwisko='Jan Kowalski'[/sql:1:6f42575f7c]

No ale takie cos nie dziala, chodzilo mi tylko o przedstawienie idei, mam nadzieje, ze wiadomo mniej wiecej o co chodzi smile.gif
uboottd
teoretycznie da sie zrobic to tak (MySQl):
[sql:1:efcd34ae06]
SELECT *
FROM users
WHERE concat(imie,' ',nazwisko)='Jan Kowalski'
[/sql:1:efcd34ae06]

lub (Postgres)

[sql:1:efcd34ae06]
SELECT *
FROM users
WHERE imie || ' ' || nazwisko='Jan Kowalski'
[/sql:1:efcd34ae06]

lub jesli w innej bazie to sprawdz jak w niej laczy sie stringi.

Jednak nie radzilbym trego robic tego w taki sposob, lepiej rozbij zmienna z imieniem i nazwiskiem i porownoj normalni:
[sql:1:efcd34ae06]
SELECT *
FROM users
WHERE imie='Jan' and nazwisko='Kowalski'
[/sql:1:efcd34ae06]
bazie bedzie latwiej to zrobic i zrobi to o wiele szybciej.
[sql]
coolesh
konkatenacja stringów jest super, a najfajniej sie z niej korzysta w klauzuli select ale w where, to tez bym nie polecał...

swoją drogą warto tez wiedziec ze stringi mozna konkatenowac tak
-sybase konkatenuje znakami ||
-microsoft (sql) znakiem +
-ms access znakiem &
a mysql i postgre opisał kolega piętro wyzej wiec nie bede powtarzał
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.