McLion писал(а):Хм... а как эти 3 таблицы между собой связаны?
Можно даже одну таблицу, а связаны между собой: 
1) id - это должно назначаться автоинкремент-ом 1,2,3,4,5,6,7 ... etc/ 
2) второй соединяющий параметр это 
parent_id.
например город N имеет id = 1, а город NN имеет id = 2; и в них по 3 завода, соответственно:
1) таблица выглядит: 
| 1 | город-N   | 1 |
| 2 | город-NN | 1 |
2) таблица выглядит: 
| 1 | завод-1| 1 | 1 
| 2 | завод-2| 1 | 1 
| 3 | завод-3| 1 | 1 
| 4 | завод-1| 2 | 1 
| 5 | завод-2| 2 | 1 
| 6 | завод-3| 2 | 1 
соответственно, запрос для первого и второго выглядят так: 
- Код: Выделить всё
- 1) SELECT  `id`,`title` FROM `chaild_table` WHERE '1' = `parent_id` AND `visible` = 1 ORDER BY `title` ABS 
 2) SELECT  `id`,`title` FROM `chaild_table` WHERE '2' = `parent_id` AND `visible` = 1 ORDER BY `title` ABS
 
по аналогии и третью таблицу подключаете. 
.