2012-12-07 5 views
3

내 쿼리보기를 변경하여 내 쿼리보기를 변경하려고합니다.두 가지 조건으로 정렬하는 Drupal보기

그래서 내가 같은 쿼리를 추가 할 :

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

두 번 내 데이터를 바로 주문.

hook_view_query_alter을 사용하지 않더라도 내가 원하는 것을 할 수있는 다른 방법이 있습니까?

나는 방법 및 모듈 (views_php, views_raw_sql, view_field_View) 및 도 시도 저장 프로 시저를 많이 시도했지만 드루팔보기

어떤 생각이나하시기 바랍니다 힌트에 전화하는 방법을 알고하지 않았다?

+1

질문에 조금 더 많은 컨텍스트를 추가해야합니다. 문제가 귀하가 올바른 쿼리를 얻을 수 없거나 Drupal 문제입니까? – KerrM

+0

that.my 첫 번째 문제에 대한 미안해 내가 2 일자 (게시물 날짜와 첫 번째) 다음 내 필드 (시작 날짜)와 함께 내 의견을 정렬하려고했는데 그래서 데이터가 게시물 날짜에 의해 정렬 된 desc 다음 정렬 다시 시작 날짜 필드와 오름차순입니다. 그래서 당신이 내게 그런 식으로 또는 동일한 일을하는 다른 방법으로 말해 줄 수있는 선택 statement.if 중첩 된 쿼리를 변경하려고했는데, 이것은 당신의 종류가 될 것입니다 . 당신의 친절한 대답에 감사드립니다. – JokerDev

+0

현재 검색어가 어떻게 표시 될 수 있습니까? 어떤 DBMS를 사용하고 있습니까? MySQL에서 하위 쿼리를 사용하는 경우 구문은'SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2); '입니다. – KerrM

답변

0

다른 정렬 기준을 쿼리에 추가하기 위해 중첩 된 SELECT 절을 사용할 필요가 없습니다. 다음 구문을 사용하면 원하는대로 처리 할 수 ​​있습니다.

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

이렇게하면 결과가 date1로 정렬되고 date2로 정렬됩니다.

보기에서 편집중인보기에 다른 정렬 기준을 추가하면 간단합니다.

+0

답장을 보내 주셔서 감사합니다. 이미 두 번째 정렬 기준을 추가했지만이 결과는 date1을 기준으로 한 첫 번째 정렬 결과이며 동일한 date1이있는 두 이벤트가있는 경우 두 레코드 만 수행합니다 a 두 번째 레벨 sorting은 date2 필드를 기반으로합니다. 그리고 이것은 내가하고 싶은 것이 아닙니다.날짜 1로 정렬하고 모든 데이터를 date1 (게시 날짜/내림차순)로 정렬 한 다음 정렬 된 데이터에서 date2 (이벤트 시작 날짜) 이벤트를 오름차순으로 선택합니다. – JokerDev

+0

좋아, 네가 지금 원하는 걸 얻을 것 같아. 중첩 된 select의'LIMIT' 절은 date1을 기준으로 3 개의 최신 이벤트를 가져온 다음 date2별로 정렬해야 함을 의미합니다. 그 맞습니까? – jamix

+0

네, 그렇습니다. 그리고 hook_view_query_alter를 사용하지 않아도 다른 방법 (drupal 방법)이 있다면 저에게는 그 종류에 따라 다르다는 것을 알게 될 것입니다. 그리고 나는 여전히 주니어입니다. 다시 .thanks입니다. – JokerDev

관련 문제