powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить MySQL запрос на выборку из дерева по трём таблицам.
5 сообщений из 5, страница 1 из 1
Помогите составить MySQL запрос на выборку из дерева по трём таблицам.
    #39206569
CrazyMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Помогите, пожалуйста, правильно составить MySQL запрос на выборку со следующим условием:

Есть три таблицы:
1. TStructure (FID:INT(11), FIDparent:INT(11), FOtdelName:VARCHAR(32)) – хранит дерево структуры предприятия (FID-FIDparent),

2. TUsers (FID:INT(11), FIDstructure:INT(11), FUserName:VARCHAR(64)) – хранит пользователей, принадлежащих какому либо отделу предприятия методом TUsers.FIDstructure=TStructure.FID,

3. TReports (FID:INT(11), FIDStructrueOtdel:INT(11), FReport:VARCHAR(255)) – таблица с отчётами, принадлежащими какому либо отделу предприятия методом TReports.FIDStructrueOtdel=TStructure.FID.

TUsers.FIDstructure заранее известен. TReports.FIDStructrueOtdel может совпадать, а может и не совпадать с TUsers.FIDstructure, т.к. первый может указывать, в том числе, и на дочерние отделы, к которым пользователь не принадлежит на прямую, а только через родительское отношение в дереве TStructure. Составьте или помогите составить SELECT запрос так, чтобы получить все записи из таблицы TReports, принадлежащие и дочерние отделу, к которому относится пользователь (TUsers.FIDstructure).

P.S.: Не судите строго, первый раз прошу так в наглую, но заработался до того, что совсем отупел, думать больше не могу, еле пост написал, не спал 35 часов и времени отоспаться не дают. Помогите, пожалуйста, составьте для меня этот запрос.
...
Рейтинг: 0 / 0
Помогите составить MySQL запрос на выборку из дерева по трём таблицам.
    #39206575
CrazyMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ах, да. Забыл упомянуть, что MySQL 5.6.14, как и почти везде, наверное.
...
Рейтинг: 0 / 0
Помогите составить MySQL запрос на выборку из дерева по трём таблицам.
    #39206659
CrazyMax, если правильно понимаю, то ваша задача аналогична этой:

Все связи с одной таблице
Только в вашем случае связь однонаправленная.
...
Рейтинг: 0 / 0
Помогите составить MySQL запрос на выборку из дерева по трём таблицам.
    #39206759
CrazyMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет.
...
Рейтинг: 0 / 0
Помогите составить MySQL запрос на выборку из дерева по трём таблицам.
    #39206840
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как то так
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT * FROM TReports r
JOIN (SELECT @index:=INSTR(@a,',') as coma_index,
@id:=SUBSTRING_INDEX(@a, ',', 1)  as id,
@a:=SUBSTRING(@a,IF(@index,@index+1,0)),
@a:=CONCAT_WS(IF(LENGTH(@a)>0,',',''),@a,(SELECT group_concat(FID) FROM TStructure WHERE FIDparent=@id)) as array
FROM TStructure,(SELECT @a:=${FIDstructure_Param}) as init
WHERE LENGTH(@a)>0) as m ON r.FIDStructrueOtdel=m.id
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить MySQL запрос на выборку из дерева по трём таблицам.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]