simbatron
Новичок
Есть три таблицы:
Мне нужно выбрать сайт ramfish.ru из таблицы domains в подзапросе.
Основной запрос идет в таблицу jobs, потом по полю из этой таблицы group_obj_id в подзапросе получаем поле table_dt (у которого значение domains) и это значение domains послужит значением таблицы для подзапроса который вернет уже поле name_dt (у которого значение ramfish.ru)
Вот я сделал запрос:
select SQL_CALC_FOUND_ROWS num_dt as num_line, (select name_dt from (select table_dt from group_obj where num_dt=t.group_obj_id limit 1) as t1 where num_dt=t.obj_id limit 1) as obj_dt from jobs as t order by num_dt LIMIT 0, 100
но он не работает, выдает Column not found: 1054 Unknown column 't.group_obj_id' in 'where clause''
Помогите пожалуйста правильно составить запрос.
Код:
select * from jobs;
+--------+----------+------------------+-------------+-------------+--------------+--------+------------+----------+
| num_dt | num_sort | status_dt | exchange_dt | name_dt | group_obj_id | obj_id | date_dt | time_dt |
+--------+----------+------------------+-------------+-------------+--------------+--------+------------+----------+
| 2 | 1 | работает | 0 | delete_site | 2 | 4 | 2016-09-14 | 01:10:30 |
+--------+----------+------------------+-------------+-------------+--------------+--------+------------+----------+
Код:
select * from group_obj;
+--------+----------------+----------+
| num_dt | name_dt | table_dt |
+--------+----------------+----------+
| 1 | Сервера | servers |
| 2 | Домены | domains |
| 3 | Темы | thems |
+--------+----------------+----------+
Код:
select * from domains;
+--------+------------+-----------+
| num_dt | name_dt | server_id |
+--------+------------+-----------+
| 4 | ramfish.ru | 13 |
| 5 | site-1.ru | 14 |
+--------+------------+-----------+
Основной запрос идет в таблицу jobs, потом по полю из этой таблицы group_obj_id в подзапросе получаем поле table_dt (у которого значение domains) и это значение domains послужит значением таблицы для подзапроса который вернет уже поле name_dt (у которого значение ramfish.ru)
Вот я сделал запрос:
select SQL_CALC_FOUND_ROWS num_dt as num_line, (select name_dt from (select table_dt from group_obj where num_dt=t.group_obj_id limit 1) as t1 where num_dt=t.obj_id limit 1) as obj_dt from jobs as t order by num_dt LIMIT 0, 100
но он не работает, выдает Column not found: 1054 Unknown column 't.group_obj_id' in 'where clause''
Помогите пожалуйста правильно составить запрос.