Объединение 3 таблиц

player

Новичок
Объединение 3 таблиц

Доброго времени суток!

Есть таблица технологий вида

tech_id tech_name tech_price


таблица технологического дерева типа

tech_need tech


и таблица где сохраняются технологии которые уже исследовали

id player_id tech_id


теперь нужно на одной страницы показывать технологии,

-еще неисследованные,
-но для которых выполнены условия, то есть все технологии из tech_need, относящиеся к этой технологии, уже исследованы юзером.
Требуется список этих доступных для исследования технологии, то есть не проверка одной технологии, а практически всех.

Каким способом можно это сделать, и какой оптимален?

Заранее спасибо
 

Vallar_ultra

Любитель выпить :)
player

Ну что, так тяжело прочитать одну строчку? MySQL разный бывает. от 3,23 до 5,1...... И они по-разному работают!
Ещё раз повторяю: поддерживает ли вложенные запросы?
 

bakh

Абалдуй
Чой-то я не понял ни разу структуру БД... :(
Нарисуй хоть в ворде со связями чтоль... :)
 

player

Новичок
Vallar_ultra
сорри, мускуль 4.1, вложенные запросы поддерживает
 

bakh

Абалдуй
...а ещё лучше, завёл бы себе инстрУмент, типа IBExpert... Там можно структуру базы рисовать и сразу создавать её... И для MySQL - тоже...
 

Vallar_ultra

Любитель выпить :)
Вобщем алгоритм следующий:

Сначала вытаскиваешь все технологии в формате [tech_id]=>array(tech_need1,tech_need2,...)
Потом берёшь все технологии данного пользователя и смотришь в цикле какие из tech_id подходят по условиям. Ну и показываешь выбранные. Как это сделать только на SQL я не знаю.
 

bakh

Абалдуй
Vallar_ultra
Вот потому и говорю, без чёткой структуры БД и связей полей - ничего сказать реально нельзя...
 

player

Новичок
Vallar_ultra

ОК, я теперь сделал таким способом, похожим.. работа с массивами короче.. просто я сначала подумал что можно обойтись только средствами SQL

Спасибо

bakh
IBExpert скачал для пробы, только не понял, в настройках чо они имеют ввиду под "Database file" или чото в этом роде...
 

Vallar_ultra

Любитель выпить :)
player
>просто я сначала подумал что можно обойтись только средствами SQL

Теоретически наверное можно, только не факт что это быстрее и лучше получится.... Чрезмерная загрузка базы - тоже ни есть гут.
 
Сверху