2012-05-07 2 views
0

У меня есть функция со сложным запросом MySQL по нескольким таблицам, где я проверяю многие условия, такие как не удаленные, активные, язык, дата, права доступа и т. Д. Таким образом, в нем уже есть несколько if-else.Сложный запрос MySQL с (слегка) различными требованиями

Теперь мне нужно создать другой запрос, очень похожий на существующий, где я запрашиваю только определенные категории с другим порядком, а другой, где я ищу ключевые слова в заголовке с расчетом релевантности.

Вы можете видеть два подобных запросов здесь: http://pastebin.com/3NY1s1gU и http://pastebin.com/RqpzqWrK (.. Имена таблиц и столбцов предопределены я не могу ничего изменить там)

Я не хочу, чтобы добавить еще больше, если-то еще или копию & вставьте существующий запрос, потому что он создаст много избыточного и/или трудноподдерживающего кода.

Есть ли шаблон дизайна, который подходит к этой проблеме?

+0

Можете ли вы извлечь общие части в виде и выбрать из этого вида в обоих запросах? –

+0

У меня нет доступа к базе данных в Интернете, но если представления могут быть созданы с помощью php и mysql, он должен работать. Хотя раньше я не использовал представления. –

ответ

0

Я не так четко понимаю ваши требования. Я думаю, это поможет вам.

Вы можете использовать первый запрос как встроенный запрос в качестве таблицы во втором запросе, но все же скопировать пасть перезагружается.

+0

Я не уверен, правильно ли я вас понимаю, но вы имеете в виду также и взгляды? Или что вы подразумеваете под «первым запросом как inline query as table»? –

Смежные вопросы