2012-05-07 38 views
0

我有一个复杂的MySQL查询在多个表的功能,我检查了许多条件,如未删除,活跃,语言,日期,访问权限等等。所以它已经有了多个if-else。复杂的MySQL查询(稍微)不同的要求

现在我需要创建另一个查询非常类似于现有的一个,我只查询特定类别顺序不同,另外一个,我在标题搜索的关键字有关联度计算。

这里你可以看到两个类似的疑问:http://pastebin.com/3NY1s1gUhttp://pastebin.com/RqpzqWrK (该表和列名是预定义的,我不能有任何改变)

我不想增加更多的if-else或复制&粘贴现有查询,因为它会创建大量冗余和/或难以维护的代码。

是否有接近此问题的一种设计模式?

+0

可以提取公用部分嵌入一个视图,从两个查询该视图选择? –

+0

我没有对数据库的Web访问,但如果视图可以用PHP和MySQL创建,它应该工作。虽然我以前没有使用过视图。 –

回答

0

我是没有那么多清楚您的要求。我认为这可能会对你有所帮助。

可以使用第一查询作为内嵌查询作为表中的第二个查询,但仍然复制粘贴重新埋葬。

+0

我不确定我是否正确理解你,但是你的意思是使用视图吗?或者,你的意思是“首先查询为内联查询为表”? –