データテーブルProgrammer
を持ち、Lang
Programmer
行:ProjectID
、Person
Lang
行:Id
、name
プログラマーにはデータがあります:1、ジョン; 3、マイク; 2、トミー
- Langには次のものがあります:1、Java; 2、C#; 3、Python
この物語のようなデータを取得する方法:
- Javaジョン
- C#マイク
- Pythonトミー
MysqlとPHPを使用して、私にはわかりません。
データテーブルProgrammer
を持ち、Lang
Programmer
行:ProjectID
、Person
Lang
行:Id
、name
プログラマーにはデータがあります:1、ジョン; 3、マイク; 2、トミー
この物語のようなデータを取得する方法:
MysqlとPHPを使用して、私にはわかりません。
これを試して::
名前を選択し、プログラマーからの人物p内部結合言語(p.ProjectID = l.ID)
表の行の出現に応じて必要な場合::
Select nL.name,nP.Person
from
(select @rownum:=@rownum+1 ‘rank’, Person
from
(SELECT @rownum:=0) r, Programmer order by rank) as nP
inner join
(select @rownum:=@rownum+1 ‘rank_1’, name
from
(SELECT @rownum:=0) r, Lang order by rank_1) as nL on (nP.rank=nL.rank_1)
これが私に検索方法を教えてくれた素晴らしい記事です:
http://devzone.zend.com/26/using-mysql-full-text-searching/
ほとんどの作業は、全文検索と呼ばれるものを使用して、SQLとインデックスを使用して行われます。
クイックスタート:
データベースで検索する列にインデックスを付けてから、MATCH()
andAGAINST()
メソッドを使用して、を使用するよりも多くの「より良い」検索を実行する必要があります%LIKE%
。