2011-10-24 10 views
1

たとえば、テーブルにはproductsという名前のテーブルがあり、テーブルにはproduct nameというフィールドがあります。知っている商品のproduct nameと一致する関連商品をいくつか表示したいと思います。mysqlでsqlコマンドを書く方法

どのようにSQLクエリコマンドを記述するには?

例:knowed製品のproduct name iがTrue Blood Seasonとして始まるすべての製品名を取得したい

True Blood Season 1 DVD 

であれば...

knowed製品のproduct name

24 Hours Season 7 DVD 

ある場合私は24 Hours Seasonとして始まるすべての製品名を取得したいと考えています。

SQL:それはかなり基本的なSQLのSQL

$query ="select p.products_id, pd.products_name, p.products_price 
        from " . TABLE_PRODUCTS . " p " . 
          TABLE_PRODUCTS_DESCRIPTION . " pd 
        where p.products_status = 1 
        and p.products_id = pd.products_id 
        and pd.language_id = '" . (int)$_SESSION['languages_id'] . "' 
        and p.products_id <> :product_id AND MATCH('products_name') AGAINST (:products_name IN NATURAL LANGUAGE MODE); 
+0

[サンプルコード](http://sscce.org/)(例えば、CREATE TABLE文のようなテーブル構造)とデータと、サンプルデータの望ましい結果が最も役立ちます。何が関連しているかを判断するための正確な基準は何ですか? – outis

+0

特定の製品名の一部。ありがとう、 – runeveryday

答えて

2

を選択します。

これはこれはあなたのproducts.product_name列にフルテキストインデックスを作成する必要があります例えば

SELECT * FROM `products` 
WHERE `id` <> :product_id -- don't return current product 
AND MATCH(`product_name`) 
AGAINST (:product_name IN NATURAL LANGUAGE MODE) 

、選択した製品のタイトルを取ると、関連マッチを取得するためにそれを使用することができるはずです。

+0

この行の意味AGAINST(製品名:NATURAL LANGUAGE MODE)ありがとうございました – runeveryday

+0

@runeveryday [マニュアルにリンクしました](http://dev.mysql.com/doc/refman/5.5/en/fulltext -search.html#function_match)? ':product_name'を参照している場合、それはパラメータです。 – Phil

+0

Phil、ありがとう、私はあなたのコードをSQLコマンドに入れました。私のIDEはエラーがあることを示しています。それを修正する方法。ありがとうございます。私は質問にコマンドを置く。 – runeveryday

-1
SELECT * FROM products WHERE product_name='title of show here'; 

とエラー何、私は本当にこの質問は非常にエントリレベルであるとして投稿する前にビットを読むことをお勧めしたいです。私はあなたが始めるのを手伝ってくれることをもっと嬉しく思っています:)。

+0

Downvotesは説明されていない限り誰も(私を含む)助けていない。ここで何が問題なの? – Whetstone

+0

「PHP」タグが付けられていません。また、これは質問の要件を満たすものではありません – Phil

+0

あなたは正しく、PHPではないように編集されています。私はほとんどのPHP質問、私の部分の監督、それを指摘のおかげで守ってきた:) :)私はあなたが間違った製品を探しているということを意味していると思います。私はそれを変更して、タイトルを変更して将来の学習を助ける場所を尋ねるようにしました。 – Whetstone

0

は名 'の血True Bloodシーズン%' のような製品から選択*

は、私はMySQLのFull-Text searchを使って見たい「名前'24のような時間シーズン%製品から*

関連する問題