Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как составить запрос, заведом не зная из какой таблицы будет выборка / 8 сообщений из 8, страница 1 из 1
19.01.2014, 10:11:44
    #38530878
vladimir_lip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как составить запрос, заведом не зная из какой таблицы будет выборка
Здравствуйте, это моя первая тема, до этого только читал темы других участников.

Задача сделать таблицу с расписание названий мероприятий

1. Мероприятий существует 5 видов.

Таблица types_work

id title1 работа 12 работа 23 работа 34 работа 45 работа 5
-----------------------------------------------------------------------
2. Каждый тип работы, имеет свою таблицы с названиями, т.е.

Таблица work1, работы по вышевке

id title text1 вышивка кружочком все о вышевке 2 вышивка квадратиком все о вышевке 3 вышивка крестиком все о вышевке

Таблица work2, работы по везанию

id title text1 вязание кружочком все о вязание2 вязание квадратиком все о вязание3 вязание крестиком все о вязание

ну и т.д. относительно работ.
-----------------------------------------------------------------------------

3. Каждую работу ведет свой организатор

Есть таблица Organizers

id fio telefon email1 иван иванов +7(111) 1111111 ya1@ya.ru2 петр иванов +7(111) 2222222 ya2@ya.ru3 александр иванов +7(111) 33333333 ya3@ya.ru

-------------------------------------------------------------------------------
4. Каждая работа может проходит в разных местах,
Таблица Places

id point1 москва2 питер3 ростов

--------------------------------------------------------------------------------
5. Есть результирующая таблица с раcписанием, со структурой которой и возникают проблемы.

Таблица "Schedule"
id type_work_id id_title_work organizer_id place_id status date_order1 1 1 1 1 1 18.01.20141 2 3 2 3 1 18.01.2014

Немного пояснений:
type_work_id - таблица types_work (типы мероприятий, вязание, вывшивка)
id_title_work - Проблемный столбец , здесь указан id названия вязания, вышивки...
status - может быть 0, тогда не выводить юзерам, 1 - выводим
date_order - по этой дате сортируется таблица.

Что необходимо получить:


Таблицу "Schedule" в таком виде:

id type_work_id id_title_work organizer_id place_id status date_order1 вышивка вышивка кружочком иван иванов +7(111) 1111111 ya1@ya.ru Москва 1 18.01.20141 вязание вязание крестиком петр иванов +7(111) 2222222 ya2@ya.ru ростов 1 18.01.2014

Не знаю как в зависимости от вида работ, сделать запрос к таблице, для получения названия.
...
Рейтинг: 0 / 0
19.01.2014, 10:22:01
    #38530883
vladimir_lip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как составить запрос, заведом не зная из какой таблицы будет выборка
Ошибся в последней таблица, вот что нужно получить:

id type_work_id id_title_work organizer_id place_id status date_order1 работа 1 вышивка кружочком иван иванов +7(111) 1111111 ya1@ya.ru Москва 1 18.01.20141 работа 2 вязание крестиком петр иванов +7(111) 2222222 ya2@ya.ru ростов 1 18.01.2014
...
Рейтинг: 0 / 0
19.01.2014, 10:45:33
    #38530887
OlegROA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как составить запрос, заведом не зная из какой таблицы будет выборка
Не нужно разбивать работы по разным таблицам - все работы хранияться в одной таблице с индексом, в который первым полем входит тип этой работы. И, естественно, единый уникальный идентификатор каждой работы.
В этом случае не будет проблем ни с идентифкаторами работ, ни с выборками.
...
Рейтинг: 0 / 0
19.01.2014, 10:48:00
    #38530888
OlegROA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как составить запрос, заведом не зная из какой таблицы будет выборка
Дополню - все выборки, естественно, проводяться по идентифкатору работы, а индекс с типом работы нужен только для общего каталога работ, в котором отображаются работы по категориям с сортировкой по названию.
...
Рейтинг: 0 / 0
19.01.2014, 10:58:12
    #38530890
vladimir_lip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как составить запрос, заведом не зная из какой таблицы будет выборка
Спасибо за ответы.
Но я в примере упрощенно привел значения.
В приложении таблицы с названиями работ имеют как одинаковые, так и разные столбцы. Поэтому и пришлось их разбить на разные таблицы.
Я понимаю, что храня все в одной таблице, проблем с выборкой не было бы, но затруднения тогда возникли бы в других местах приложения.
...
Рейтинг: 0 / 0
19.01.2014, 12:14:32
    #38530919
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как составить запрос, заведом не зная из какой таблицы будет выборка
объединение выборок из разных таблиц:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select ..., w.title
  from ...
  join work1 w on ...
  where Schedule.type_work_id = 1
union all
select ..., w.title
  from ...
  join work2 w on ...
  where Schedule.type_work_id = 2
union all
select ..., w.title
  from ...
  join work3 w on ...
  where Schedule.type_work_id = 3
...
Рейтинг: 0 / 0
19.01.2014, 13:19:20
    #38530954
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как составить запрос, заведом не зная из какой таблицы будет выборка
vladimir_lipСпасибо за ответы.
Но я в примере упрощенно привел значения.
В приложении таблицы с названиями работ имеют как одинаковые, так и разные столбцы. Поэтому и пришлось их разбить на разные таблицы.
Я понимаю, что храня все в одной таблице, проблем с выборкой не было бы, но затруднения тогда возникли бы в других местах приложения.
все равно у всех работ есть общие характеристики,
поэтому надо хранить их в одной таблице,
дополнительные параметры можно хранить в разных таблицах,
и в запросах их прикручивать левым joinом
...
Рейтинг: 0 / 0
19.01.2014, 14:16:52
    #38530982
vladimir_lip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как составить запрос, заведом не зная из какой таблицы будет выборка
Щас так и сделал, объединил в одну таблицу и переделываю логику.
Спасибо за наставления на путь истинный )))
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как составить запрос, заведом не зная из какой таблицы будет выборка / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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