INNER JOIN komutunu doğru konumlandırma
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..
Ş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