2013-07-10 2 views
1

PHP 파일에 MySQL 쿼리가 있습니다. 'ORDER by value ASC'를 사용하여 테이블 중 하나의 열에서 값을 오름차순으로 정렬하여 결과를 정렬하려고합니다. 그러나 현재 쿼리에서 생성되는 결과는이 값에 의해 정렬되지 않고 테이블의 다른 값으로 정렬됩니다. 나는 내가 잘못된 구문을 가지고 있기 때문에 이것을 추정하지만 어떻게 작동하는지 알 수 없다. 나는 몇 주 동안이 일을하려고 노력했지만 아무 기쁨도, 아무도 도울 수 있습니까?sqs 값순으로 정렬

답장을 보내 주셔서 대단히 감사드립니다.

검색어 :

$Find_Query3 = mysql_query("SELECT 
patients.*, 
addobs.*, 
DATE_FORMAT(addobs.datetime, '%d/%m/%Y %H:%i:%s') as dti1, 
(SELECT DATE_FORMAT(MIN(addobs.datetime), '%m/%d/%Y %H:%i:%s') FROM addobs WHERE addobs.mrn = patients.mrn AND addobs.datetime >= lastOkPar.lastDatetime AND addobs.par >= $par AND addobs.hidden != 'yes') as dti2 
FROM addobs 
INNER JOIN patients ON addobs.MRN = patients.MRN 
LEFT JOIN (
SELECT 
addobs.MRN 
, MAX(addobs.datetime) as lastDatetime 
FROM addobs 
WHERE 
addobs.par < $par 
AND addobs.hidden != 'yes' 
GROUP BY addobs.MRN 
) lastOkPar ON lastOkPar.MRN = addobs.MRN 
WHERE 
addobs.datetime = (SELECT MAX(OLAST.datetime) FROM addobs AS OLAST WHERE OLAST.MRN = patients.MRN) 
AND addobs.par >= $par 
AND NOT addobs.hidden = 'yes' 
AND COALESCE(patients.ward,'') != 'dc'  
ORDER by addobs.par ASC, dti2 ASC 

PS 현재 결과는 '환자'에서 열 중 하나입니다 출생의 날짜를 기준으로 정렬됩니다. 나는 왜 이것이 주문해서 선택했는지 알지 못한다. 나는 논리가 확실하다. 그러나 나는 그것을 해결했다!

감사합니다,

매트

+1

* 필수 시도 : *'기능 (http://php.net/ [PHP 5.5에서 사용되지]됩니다 *은'mysql_로를 manual/ko/faq.databases.php # faq.databases.mysql.deprecated). 나중에 제거 될 예정이므로 새 코드를 작성하는 것은 권장되지 않습니다. 대신 [MySQLi] (http://php.net/manual/en/book.mysqli.php) 또는 [PDO] (http://php.net/manual/en/book.pdo.php) 및 [더 나은 PHP 개발자가 되십시오] (http://jason.pureconcepts.net/2012/08/better-php-developer/). –

+0

평방? 그때 wassat? – Strawberry

답변

0

ORDER by addobs.par , 
(SELECT DATE_FORMAT(MIN(addobs.datetime), '%m/%d/%Y %H:%i:%s') FROM addobs WHERE  addobs.mrn = patients.mrn AND addobs.datetime >= lastOkPar.lastDatetime AND addobs.par >= $par AND addobs.hidden != 'yes') 
관련 문제