2012-05-07 36 views
0

我有一個複雜的MySQL查詢在多個表的功能,我檢查了許多條件,如未刪除,活躍,語言,日期,訪問權限等等。所以它已經有了多個if-else。複雜的MySQL查詢(稍微)不同的要求

現在我需要創建另一個查詢非常類似於現有的一個,我只查詢特定類別順序不同,另外一個,我在標題搜索的關鍵字有關聯度計算。

這裏你可以看到兩個類似的疑問:http://pastebin.com/3NY1s1gUhttp://pastebin.com/RqpzqWrK (該表和列名是預定義的,我不能有任何改變)

我不想增加更多的if-else或複製&粘貼現有查詢,因爲它會創建大量冗餘和/或難以維護的代碼。

是否有接近此問題的一種設計模式?

+0

可以提取公用部分嵌入一個視圖,從兩個查詢該視圖選擇? –

+0

我沒有對數據庫的Web訪問,但如果視圖可以用PHP和MySQL創建,它應該工作。雖然我以前沒有使用過視圖。 –

回答

0

我是沒有那麼多清楚您的要求。我認爲這可能會對你有所幫助。

可以使用第一查詢作爲內嵌查詢作爲表中的第二個查詢,但仍然複製粘貼重新埋葬。

+0

我不確定我是否正確理解你,但是你的意思是使用視圖嗎?或者,你的意思是「首先查詢爲內聯查詢爲表」? –