Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 13, 2012 03:11:51

lp12
От:
Зарегистрирован: 2012-01-13
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Сложный запрос на четыре таблицы

Помогите, мозг сломал.

Есть такая структура таблиц:
Мальчики (Boys) - порядка 50000 записей
Девочки (Girls) - порядка 50000 записей
Подарки (Gifts) - порядка 50000000 записей
Болячки (Infections) - порядка 100000 записей

Мальчики ходят с подарками к девочкам, а у девочек бывают болячки. То есть связи такие:
Мальчики (one-to-many) Подарки
Подарки (many-to-one) Девочки
Девочки (many-to-many) Болячки

Задача: для заданного мальчика и заданной болячки получить список девочек, от которых он мог её подхватить. Будет ли решение проще, если все цифры будут на два порядка меньше?



Офлайн

#2 Янв. 13, 2012 10:07:45

Studentik
От:
Зарегистрирован: 2009-12-26
Сообщения: 99
Репутация: +  0  -
Профиль   Отправить e-mail  

Сложный запрос на четыре таблицы

Решение и так простое )

SELECT girl_name 
FROM girls
JOIN infections ON girl_id = infection_girl_id
JOIN gifts ON gift_girl_id = girl_id
JOIN boys ON boy_id = gift_boy_id
WHERE infection_name = 'OMG' AND boy_name = 'Boy Name'



Офлайн

#3 Янв. 13, 2012 12:43:48

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Сложный запрос на четыре таблицы

возможно о топикстартера Datastorage, а не субд

Офлайн

#4 Янв. 14, 2012 04:35:58

lp12
От:
Зарегистрирован: 2012-01-13
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Сложный запрос на четыре таблицы

slav0nic
возможно о топикстартера Datastorage, а не субд
Именно датасторадж. А разве на GAE возможно иначе?



Офлайн

#5 Янв. 14, 2012 10:52:34

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Сложный запрос на четыре таблицы

Офлайн

#6 Янв. 15, 2012 04:02:22

lp12
От:
Зарегистрирован: 2012-01-13
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Сложный запрос на четыре таблицы

slav0nic
http://code.google.com/intl/ru/apis/sql/ уже можно
Спасибо, подал заявку на участие в тестировании. Вдруг прокатит. А что, через datastorage это всё не реализуемо?



Офлайн

#7 Янв. 18, 2012 09:27:57

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Сложный запрос на четыре таблицы

думаю при существующих раскладах врядли, попробуй денормализировать/завести новую таблицу

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version