私はphp/mysqlを使用して家具のウェブサイトに検索しています。検索*で複数のテーブルから検索QUERY
$sql = "SELECT * FROM produitsoutdoor_new WHERE CONCAT(nom, dimensions, coloris, descriptif, composition, matiere, stock) LIKE '%$keyword%'";
をしかし、私はそのようないくつかの他のテーブルを追加しようとすると::
私はこのような単純な検索クエリを使用しました
$sql = "SELECT * FROM produitsoutdoor_new, produitssalon, produitsdecoration WHERE CONCAT(nom, dimensions, coloris, descriptif, composition, matiere, stock) LIKE '%$keyword%'";
結果は空です。この場合、JOIN
はどのように使うべきですか?
の詳細を読むことができます
を作成することが容易になります= table1field – clearshot66
'INNER JOIN'は、IDが3つのテーブルすべてに存在する場合にのみ値を表示します。結合テーブルに値が存在しない場合は、LEFT JOINを使用してください。 –
正しい方法は、UNIONを使用することです。さらに、OPの実際のクエリ(彼が働かないと言ったもの)は、すべてのテーブル間でデカルト計画を実行しています。エイリアスの不足のためにおそらくほとんど機能していません。 –