SQL問合せに複数のwhere句がある複数のif条件があります。複数のif文にSQL where節を使用するにはどうすればいいですか
if(empty($pincode) && !empty($data) && $flag==true) {
$dql = "SELECT s.instaffiliation,i.institutename,i.institutefeerange,i.instituterating,
a.addressline1,a.addressline2,i.instituterating,
i.instituteteachingtimings,s.instdescription,s.insttype,
s.insteligibilitycriteria,u.instlogo,u.instbrochure
FROM Edufaction\Bundle\EdufactionBundle\Entity\Institute i
INNER JOIN i.instsummary s
INNER JOIN i.address a
INNER JOIN i.insturl u
WHERE s.instaffiliation IN('')
ORDER BY i.instituterating";
}
if(empty($pincode) && !empty($data) && $flag==false) {
$dql = "SELECT s.instaffiliation,i.institutename,i.institutefeerange,i.instituterating,
a.addressline1,a.addressline2,i.instituterating,
i.instituteteachingtimings,s.instdescription,s.insttype,
s.insteligibilitycriteria,u.instlogo,u.instbrochure
FROM Edufaction\Bundle\EdufactionBundle\Entity\Institute i
INNER JOIN i.instsummary s
INNER JOIN i.address a
INNER JOIN i.insturl u
WHERE s.instaffiliation IN($data)
ORDER BY i.instituterating";
}
if(!empty($pincode) && !empty($data)) {
$dql = "SELECT s.instaffiliation,i.institutename,i.institutefeerange,i.instituterating,
a.addressline1,a.addressline2,i.instituterating,
i.instituteteachingtimings,s.instdescription,s.insttype,
s.insteligibilitycriteria,u.instlogo,u.instbrochure
FROM Edufaction\Bundle\EdufactionBundle\Entity\Institute i
INNER JOIN i.instsummary s
INNER JOIN i.address a
INNER JOIN i.insturl u
WHERE s.instaffiliation IN($data)
AND a.pincode IN($pincode)
ORDER BY i.instituterating";
}
if(!empty($data) && !empty($reqfee) && $flag==false) {
$dql = "SELECT s.instaffiliation,i.institutename,i.institutefeerange,i.instituterating,
a.addressline1,a.addressline2,i.instituterating,
i.instituteteachingtimings,s.instdescription,s.insttype,
s.insteligibilitycriteria,u.instlogo,u.instbrochure
FROM Edufaction\Bundle\EdufactionBundle\Entity\Institute i
INNER JOIN i.instsummary s
INNER JOIN i.address a
INNER JOIN i.insturl u
WHERE s.instaffiliation IN($data)
AND i.institutefeerange IN($reqfee)
ORDER BY i.instituterating";
}
ここで、複数のif条件に基づく条件は、複数の条件と同じです。 if条件を使用して複数のwhere句で一度に1つのクエリを適用するにはどうすればよいですか? 誰か助けてください。事前に感謝します
多分私だけですが、私は本当にあなたが求めていることを理解するのに苦労しています - あなたは明確にする/言い換えることができますか? – Bananaapple
あなたの構文は実際に正しく見えません。異なるテーブル間に結合 "ON"句はありません。また、次の結合表 "i.instSummary"、 "i.Address"などの基礎として "i"エイリアスを省略しているように見えます。また、MySQLとSQL Serverのタグもリストされています。それ。 – DRapp
ここで@DRappクエリは正常に動作しています 'i'はinstituteテーブルのエイリアスを意味します。ここで私はWHERE if条件(if empty($ pincode)&&!empty($ data))s.instaffiliation IN($ data)else s.instaffiliation IN($ data)とa.pincode IN pincode) – somesh