2011-07-30 7 views
0

に私が選択を助けるが、質問をする前に、私は私のシステムがどのように動作するかの簡単な説明を与える必要がある、LIKE演算子のようにして選択します。私がしたい多対多のデー​​タベースの設計

テーブル選択を行い、多対多の関係を持って、下記をご覧:

table product: 
prd_cod(pk) //stores the product code ex: 0,1,2 
cat_cod(fk) 
prd_name //stores the product name, ex: tv, gps, notebook 

table description_characteristc: 
prd_cod(fk) 
id_characteristic(fk) 
description //stores the description of the characteristic, ex: sony, 1kg, hj10 

table characteristic: 
id_characteristic (pk) 
name_characteristic //store the name of characteristic, ex: brand, weight, model 

を私は私はそれがだタイプのすべての単語を作るのphpファイルを呼び出すことを、jqueryの示唆、index.phpの中で作られた準備ができてい10の結果を選択して返しますが、これはインターネット上で準備ができていることを示しています。したがって、選択はビジネスルールと一致しませんが、新しい選択肢を実装したいと思います彼の提案。

'%'のように選択すると、表description_characteristcのprd_nameとすべての説明を提案ボックスに表示する必要があります。

tv 
tv led 
tv plasm 
tv samsumg 

:結果に対するユーザーのクリックが他の.phpにパラメータごとに送信されますが、私はいけない、これが今必要とするとき、

ときに、ユーザータイプ「テレビ」、選択は結果をもたらすでしょうそして、ユーザータイプ「テレビs」は、選択は結果もたらすとき:そのprd_name店のみ「テレビ」

+0

私はこの選択一週間以上行うことをしようとしていますが、結果は、災害だったここブラジルで私の友人にもしようとした効果がなかったので、私はstackoverflowの中に助けを求めることを決めた... –

+0

私はこの選択で私を助けることができる非常に感謝します、ありがとう皆... –

答えて

0

を覚える

tv sony 
tv samsumg 
tv salom 
tv sxxxx etc 

を一緒に2つのテーブルを結合し、このクエリを、試してみてください。 where句の最初の部分は、商品表からの行数を減らし、2番目の部分は関連する説明と一致します。

注:このクエリは特に効率的ではありません。

select p.prd_name, d.description 
from product p 
    inner join description_characteristc d using (prd_cod) 

where _user_input_ like concat(p.prd_name, '%') 
    and concat(p.prd_name, ' ', d.description) like concat(_user_input_, '%'); 
関連する問題