2012-07-12 3 views
1

Есть таблица данных Programmer и LangПоиск в базе данных Mysql PHP

  • Programmer строк: ProjectID, Person
  • Lang ряд: Id, name

  • В Programer есть данные: 1, Джон ; 3, Mike; 2, Tommy

  • У Lang есть: 1, Java; 2, C#; 3, Python

Как получить данные как эту сказку:

  • Java Джон
  • C# Майк
  • Python Томми

Использование Mysql и PHP, я понятия не имею.

ответ

1

Try This ::

Выберите имя, Человек из программатора р внутреннего соединения Ланга л на (p.ProjectID = l.ID)

Если вам нужно по ряду вхождению в таблице ::

Select nL.name,nP.Person 
from 
(select @rownum:[email protected]+1 ‘rank’, Person 
from 
(SELECT @rownum:=0) r, Programmer order by rank) as nP 
inner join 

(select @rownum:[email protected]+1 ‘rank_1’, name 
from 
(SELECT @rownum:=0) r, Lang order by rank_1) as nL on (nP.rank=nL.rank_1) 
+0

Это только работа, если программист и языки идентификатор же, но в моем столе программиста ид может быть 3.1.2 и языки 3.2.1 и я должен искать не сравнимую идентификатор линии приравнять или не – Wizard

+0

и хотят их присоединяться на основе их наличия в таблице? –

0

Вот большая статья, которая научила меня искать:

http://devzone.zend.com/26/using-mysql-full-text-searching/

Большая часть работы будет осуществляться с помощью SQL и индексов, используя то, что называется полнотекстового поиска.

QUICK START:

Вам нужно будет индексировать столбцы, которые вы хотите найти в базе данных, а затем использовать MATCH() и AGAINST() методы для выполнения более «лучше», чем при использовании поиска %LIKE%.

Смежные вопросы