Pages

16 Kasım 2013 Cumartesi

Mysql Concat Fonksiyonu(Sütun Birleştirme - Arama Yapma)

Concat fonsiyonu select sorguları içerisinde biden fazla alanı tek bir alana birleştirmemizi sağlar.

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.id

Sonuç :

-----------------------------------------
|   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.id

Sonuç :

-----------------------------------------
|   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

16 Kasım 2013 Cumartesi

Mysql Concat Fonksiyonu(Sütun Birleştirme - Arama Yapma)

Concat fonsiyonu select sorguları içerisinde biden fazla alanı tek bir alana birleştirmemizi sağlar.

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.id

Sonuç :

-----------------------------------------
|   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.id

Sonuç :

-----------------------------------------
|   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