CONCAT Kullanımı
SELECT no,CONCAT(sube_adi,sube_kodu) AS sube_isim FROM subeler
Sonuç :
-----------------------------------| No | sube_isim |
-----------------------------------
| 5 | 552Ankara |
-----------------------------------
Farklı Tabloları Birleştirmek
SELECT u.urun_adi,CONCAT(m.marka_kodu,m.marka_adi) AS marka FROM urunler u, markalar m where u.marka_id=m.idSonuç :
-----------------------------------------| urun_adi | marka |
-----------------------------------------
| Blender | 52Vestel |
----------------------------------------
Yukarıdaki birleştirmeyi gerçekleştirirken marka kodu ve marka adı arasına bir ayırıcı yerleştirmek isteyebiliriz. Bu noktada seperator ihtiyacımızı concat_ws fonksiyonu karşılıyor.
CONCAT_WS Kullanımı
SELECT u.urun_adi,CONCAT_WS('-',m.marka_kodu,m.marka_adi) AS marka FROM urunler u, markalar m where u.marka_id=m.idSonuç :
-----------------------------------------| urun_adi | marka |
-----------------------------------------
| Blender | 52-Vestel |
-----------------------------------------
Bunların yanı sıra birleştirilmiş olan alan ile arama yapmak isteyebiliriz. Concat fonksiyonu bu noktada da imdadımıza koşar.
ŞUBELER TABLOMUZ
-----------------------------------------------------------------------------------------------| id | ad_soyad | sube_kodu | sube_adi | veli_adi |
----------------------------------------------------------------------------------------------
| 1 | YASIN UYSAL | 8 | A | MUAMMER |
----------------------------------------------------------------------------------------------
Şubeler tablomuzdaki öğrenci 8/A sınıfı öğrencisidir (VERI 2 ALANA DAĞITILMIŞ). Tüm öğrencilerin listelendiği bir sayfada kullanıcı öğrencileri şubelerine göre filtrelemek isteyebilir. Bizde arama kutucuğuna '8/A' yazıldığında o şubeye ait öğrencilerin çıkmasını istiyoruz. Bu durumda iki alanı birleştirip araya '/'(SLASH) işaretini yerleştirip arama yaptırmamız gerekiyor
ARAMA KUTUSUNA 8/A YAZILIP POST EDILDIĞINI VARSAYALIM.
SELECT ad_soyad, CONCAT_WS('-',sube_kodu,sube_adi) AS sube, veli_adi FROM subeler WHERE CONCAT_WS('-',sube_kodu,sube_adi) LIKE '$_POST[ARAMA_METNI]%'
SONUÇ :
------------------------------------------------------------| ad_soyad | sube | veli_adi |
------------------------------------------------------------
| YASIN UYSAL | 8/A | MUAMMER |
------------------------------------------------------------
Sorgunun WHERE bloğunda CONCAT_WS fonksiyonunu LIKE fonksiyonu ile kombineli bir şekilde kullanarak kullanıcı dostu bir arama kutusu oluşturduk.
Hiç yorum yok:
Yorum Gönder