v2.5.2
Giriş yap

INNER JOIN komutunu doğru konumlandırma

pcmemo
788 defa görüntülendi

Merhaba arkadaşlar,
INNER JOIN komutunu bazen kullanırken sorun yaşıyorum.

Örneğin :

INNER JOIN tbl_personel ON tbl_personel.UserID = tbl_yurtici_siparis.siparis_veren_id

yukarıdaki kodu aşağıdaki gibi yerleştirğimde çalışıyor.

$sorgu = $db->prepare("SELECT * FROM tbl_yurtici_siparis INNER JOIN tbl_personel ON tbl_personel.UserID = tbl_yurtici_siparis.siparis_veren_id order by OrdID desc");

Fakat birden fazla kolonda arama yapmak için aşağıdaki sorguda neresine ilave ettimse çalıştıramadım.

$sorgu = $db->prepare('SELECT * FROM tbl_yurtici_siparis buraya_ekledim_çalışmadı WHERE CONCAT(`model_no`, `firma`, `aciklama`) LIKE :par  order by OrdID desc');
$sorgu->execute(array(':par' => '%'.$search.'%'));

Arama sonuçlarımda 2. tablodan veri çekemiyorum tam olarak neresine koymalı veya nasıl kullanmalıyım.

Teşekkürler..

buraksuluk
1779 gün önce

Şu şekilde denermisin ? tabi $search değişkenin sorunsuz geldiğini varsayıyorum.

$sorgu = $db->prepare("SELECT * FROM tbl_yurtici_siparis INNER JOIN tbl_personel ON tbl_personel.UserID = tbl_yurtici_siparis.siparis_veren_id 
where (model_no like :par) or (firma like :par) or (aciklama like :par ) order by OrdID desc ");
$sorgu ->bindValue(':par', '%'.$search.'%', PDO::PARAM_STR);
$sorgu->execute();
$sorgu->fetchAll();

Eğer join yaptıkdan sonra GROUP_CONCAT ile satırları birleştirip içinde aratmak istiyorsan iki tablonun kolon adlarını paylaş
ve join yapmak kolon ve GROUP_CONCAT birleştirmek istediğin kolonları paylaşırsan yardımcı olayım yani * FROM şeklilde olmasın