Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Laczenie pol w warunkach
sivyer
post 19.09.2003, 11:18:32
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 17.04.2002
Skąd: Wrocław

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


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
Go to the top of the page
+Quote Post
uboottd
post 19.09.2003, 12:50:47
Post #2





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

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


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]
Go to the top of the page
+Quote Post
coolesh
post 19.09.2003, 17:29:20
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 17.09.2003
Skąd: warszawa

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


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ł


--------------------
Pozdrawiam
Coolesh
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: 23.06.2025 - 18:41