Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Выборка из t1 по правилам из t2

Сообщения:  [1-4] 

 
 автор: neadekvat   (20.05.2010 в 16:48)   письмо автору
 
   для: neadekvat   (20.05.2010 в 13:11)
 

У меня получился такой запрос:
SELECT t1.name, t1.id
FROM table1 as t1, table2 as t2
WHERE t1.town_id = {$arr['town_id']} AND t1.id = t2.id
AND t2.cat_id IN (SELECT cat_id FROM table2 WHERE id = {$arr['id']})

Где $arr['id'] - известный id, а $arr['town_id'] - id города у известного id :)

  Ответить  
 
 автор: neadekvat   (20.05.2010 в 16:15)   письмо автору
 
   для: root   (20.05.2010 в 14:19)
 

Первая таблица:
CREATE TABLE IF NOT EXISTS `table1` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`town_id` mediumint(9) NOT NULL,
`name` text NOT NULL,
PRIMARY KEY (`id`),
KEY `town_id` (`town_id`)
)

Вторая таблица:
CREATE TABLE IF NOT EXISTS `table2` (
`id` mediumint(8) NOT NULL,
`cat_id` int(11) NOT NULL,
PRIMARY KEY (`id`,`cat_id`)
)

id в table1 - идентификатор определенной компании
id в table2 - идентификатор компании, соответствует id в table1
Но в table2 хранится информация о том (cat_id), к каким категориям компаний (банковские услуги, перевозка навоза и т.д.) относится данная компания (id). Как видно из дампа, id в table2 может повторяться (т.к. некоторые компании относятся к нескольким категориям).

Задача в том, что, имея id вытащить из table1 те компании, которые с имеющимся id относятся к тем же категориям.

  Ответить  
 
 автор: root   (20.05.2010 в 14:19)   письмо автору
 
   для: neadekvat   (20.05.2010 в 13:11)
 

неясно.
кто с кем совпадают?
Структуру таблиц (даже упрощенно) можно и в нормальном виде привести.

  Ответить  
 
 автор: neadekvat   (20.05.2010 в 13:11)   письмо автору
 
 

Не могу решить, как будет лучше решить задачу:
Есть две таблицы.
Первая имеет такую структуру (упращенно):
id...|.....name..........|......town_id
1........Название 1..........1
2........Название 2..........1
3........Название 3..........2
4........Название 4..........1
Вторая имеет такую (связь таблиц id-id)
id | cat_id
1......1
1......2
2......1
3.......1
4.......1
4.......2

Есть у нас в скрипте id 1, и из первой таблицы надо выбрать все данные, которые имеют такой же town_id (это то ясно как :) ) и совпадают хотя бы по одному параметру cat_id из второй таблицы.

  Ответить  

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования