2012-08-02 6 views
0

활동 기록이있는 MySQL 데이터베이스에 테이블이 있습니다.MySQL에서 레코드 연결 및 추출

Action_______________Date_________________User________________Location___________Ref Number 
Action 1........1/1/2012.........J Jones.......Home.............0
Action 2........2/1/2012.........K Smith.......Work.............00234 
Action 2........2/1/2012.........J Jones.......Home.............0
Action 1........4/1/2012.........B Smith.......Home.............00345 
Action 3........5/1/2012.........J Jones.......Mobile...........0
ETC 

은 내가 무엇을 찾고 있어요 것은 다음 이동 등 동일한 참조 번호 및 동작 3 액션이를 찾아 테이블을 통해 이동 작업 1and의 첫 번째 항목을 찾을 수 쿼리는 다음과 같습니다

테이블의 참조 번호가 나타날 때마다이 작업을 수행합니다.

이 단일 데이터 라인 즉, 같은 PHP에서 제시 될 필요가있다 :

Ref No._____________Act1date_____________Act1User_____________Act1location_____________Act2date_____________Act2User__etc 
00123..........1/1/2012..........J Jones............Home....................2/1/2012..........J Jones 
00234..........1/1/2012..........J Jones............Work....................2/1/2012..........J Jones 00345..........1/1/2012..........J Jones............Home....................2/1/2012..........B Smith 

또한

내가 할 수있는 등 Action1_date와 Action2_date 사이 즉 시간의 차이를 할 몇 가지 계산이있을 것입니다 이 일을하는 쿼리를 작성하는 방법을 생각할 필요가 없습니다 - 아무도 도와 줄 수 있습니까?

미리 감사드립니다.

+0

조치 2 만 있고 동작 1이없는 경우는 어떻게됩니까? 테이블에 공백을 두셨습니까? 내 의견으로는 최선의 방법이 아닌 것 같습니다 :/ –

+0

SELECT * WHERE refNumber = x ORDER BY action_id와 같은 것을 의미합니까? – drupality

+0

답변 해 주셔서 감사합니다. 데이터 소스는 매월 추가되며 Action 1은 다른 Ref 작업이 수행된다는 것을 의미하는 새로운 Ref 번호의 생성을 나타냅니다. 따라서 엘리야가 설명하는 문제는 발생하지 않아야합니다. drupality 및 Fluffeh (!)가 제안한 방법으로 주문을 사용했습니다 (감사합니다 v). 이것들은 레코드를 꺼내지 만 한 줄의 데이터로 끝나기를 바랬습니다. 아마도 새로운 테이블에서 새로운 라인을 계산하고 분석 할 수 있습니다. – highfidelity

답변

1

주문 별 명세서를 사용하여 결과를 정렬하면됩니다.

select 
    action, 
    Date, 
    User, 
    Location, 
    refNumber 
from 
    yourTable 
order by 
    refNumber, 
    action 
관련 문제