묻고답하기
쉬운 쿼리문인데 안짜지는군요 ;;;
2013.02.21 02:05
안녕하세요?
엄청 쉬운 쿼리문이라 생각했는데, 막상 짜려니까 안되네요. 도움을 부탁드립니다.
테이블 형태는 다음과 같습니다.
no update etc
----------------------------------
10 20120101 xxx
15 20130501 xxx
3 20011022 yyy
.......
(1)
이 때 etc="xxx" 인것중에서 update 가 가장 큰 값을 찾아서 그 줄의 no 와 update 값을 반환 받고 싶습니다.
<query id="getNoUpdate" action="select">
<tables>
<table name="module_test" />
</tables>
<columns>
<column name="no" />
<column name="max(update)" alias="update" />
</columns>
<conditions>
<condition operation="equal" column="etc" default="xxx" pipe="and" />
</conditions>
</query>
원하는것은 여기서 $output->data->no = 15, $output->data->update = 20130501 인데,
실제로는 $output->data->no = 10, $output->data->update = 20130501 이 나오네요.. 아마도 no 값은 맨 위를 읽는것 같습니다.
어떻게 해야 하나요?
(2)
방법을 잘 몰라서 꼼수를 써보려고 소트를 한 다음에 page 기능을 이용해서 1개만 딱 빼보려고 했습니다.
<query id="getNoUpdate" action="select">
<tables>
<table name="module_test" />
</tables>
<columns>
<column name="no" />
<column name="update" />
</columns>
<conditions>
<condition operation="equal" column="etc" default="xxx" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="update" order="desc" />
<list_count var="list_count" default="1" />
<page_count var="page_count" default="1" />
<page var="page" default="1" />
</navigation>
</query>
그런데 이렇게 처리하니까
$output->data->no , $output->data->update 모두 null 로 뜹니다.
혹시 어레이 문제인가 싶어서
$output->data[0]->no , $output->data[0]->update 로 읽어도 여전히 null 로 뜹니다.
이상해서 size를 봤는데
sizeof($output->data) 는 정상적으로 1로 뜹니다.
이거 page_count 들어가면 어떤식으로 읽어야 하나요?
(추가) navigation 문을 바꿔서 테스트 좀 해봤는데
<navigation>
<index var="sort_index" default="update" order="desc" />
</navigation>
형태로 page_count 내용을 없애면 $output->data[0]->no 값이 읽힙니다. 즉 page_count 를 쓰면 읽는 방법이 달라진다는 건데..
어떻게 읽는건지 모르겠습니다.