2012-12-07 29 views
3

我想改變我的看法查詢改變我的查詢視圖排序。Drupal的觀點有兩個標準

所以我想添加一個查詢,如:

<select From (select from where) order by) order by > 

,只是爲了我的數據的兩倍。

也沒有任何其他辦法可以做到我想要的東西,即使不使用hook_view_query_alter

我嘗試了很多的方法和模塊(views_php,views_raw_sql,view_field_View)和 還試圖存儲過程,但不知道如何調用它在Drupal的觀點

任何想法或暗示嗎?

+1

您應該爲您的問題添加更多的上下文。你的問題是你無法得到正確的查詢或是Drupal問題嗎? – KerrM

+0

對不起that.my第一個問題是,我試圖整理我的看法,由於2日(先用後日期),然後用我的(開始日期)的領域,所以我在發佈日期排序獲得的說明數據,然後排序它再次與開始日期字段asc.so我試圖改變查詢嵌套select語句。如果你可以告訴我如何做到這一點或以任何其他方式做同樣的事情,這將是一種你。感謝您的回覆 。 – JokerDev

+0

你現在可以發佈你的查詢嗎?你使用的是什麼DBMS?如果您在MySQL中使用子查詢,則語法爲'SELECT * FROM t1 WHERE column1 =(SELECT column1 FROM t2);'。 – KerrM

回答

0

你不需要嵌套SELECT子句另一個排序標準添加到查詢。下面的語法會做你想要什麼:

SELECT ... 
FROM ... 
ORDER BY date1, date2 

這將date2的通過日期1對結果進行排序,然後。

在視圖中,只需添加其他排序標準,您正在編輯的視圖,就這麼簡單。

+0

感謝您的回覆,我已經添加第二排序標準,但是這導致第一級排序基於日期1,如果用相同的日期1兩個事件存在這兩個記錄將只執行一個 基於date2字段的二級排序。這不是我想要做的。我想對日期1進行排序,所有數據都按日期1(這是發佈日期/降序)進行排序,然後從排序數據中選擇帶有date2(這是一個事件開始日期)事件的升序。 – JokerDev

+0

好吧,我想我現在得到你想要的。嵌套選擇中的「LIMIT」子句意味着您需要獲取3個最新事件(按date1),然後按date2對其進行排序。那是對的嗎? – jamix

+0

是的,如果有任何其他方式(drupal的方式),即使不使用hook_view_query_alter我會明白,我的項目取決於這種排序,我還是一個初中。再次感謝。 – JokerDev