2016-06-01 1 views
0

저는 누군가가 수행 한 신체 운동에 대한 정보를 얻으려는 프로젝트를 진행하고 있습니다. 다음 질의를 통해 정보를 얻습니다.SQL 내부 계산의 선택 진술에 합류합니다.

SELECT haas2.trainings.id, 
     haas2.trainings.timestamp, 
     haas2.training_types.NAME, 
     haas2.training_types.description, 
     haas2.training_types.intensity, 
     haas2.training_types.length 
FROM haas2.trainings 
     INNER JOIN haas2.training_types 
       ON haas2.trainings.typeid = haas2.training_types.id 
WHERE guid = (SELECT guid 
       FROM haas2.users 
       WHERE login = 'mphdijck') 

그것은 모든 교육을 보유하고있는 사용자가 그들을 데리고 그 특정 훈련 유형에 대한 정보를 유지하는 테이블에서 추가 정보를 얻을 수 테이블에서 정보를합니다. 현재 이곳에

Table return

을 문제가, 내가 훈련은 제 1 센서 값 등 지난 센서 값 사이의 시간 차이를 계산하여 걸린 실제 시간을 얻으려면 제공 :

그것은 다음과 같이 반환 나는 훈련이 얼마나 오래 걸렸는지를 안다.

I가 그것에 대해 다음과 같은 성명 :

SELECT 
     Max(Unix_timestamp(timestamp)) - Min(Unix_timestamp(timestamp)) AS output, 
     haas2.trainingdata.training_id 
FROM haas2.trainingdata 
WHERE training_id = 1 

이이 같은 반환

Table return 2

두 번째 쿼리는 모든 훈련 때문에위한 시간을 반환하면 내 문제가 해결 될 것

그럼 내가 처음 쿼리에 INNER JOIN 수 있습니다. 그러나 현재로서는 WHERE 절에 선언 된 training_id에서만 교육을 반환 할 수 있습니다.

나는 이것이 의미가 있기를 바랍니다. 나는 내 문제를 가능한 한 명확하게 설명하기 위해 최선을 다했다. 설명이 필요하면 질문하십시오.

업데이트 : MAX (UNIX_TIMESTAMP (타임 스탬프)) SELECT - 출력, HAAS2 AS MIN (UNIX_TIMESTAMP (타임 스탬프)) : 내가 당신을 이해한다면

Trainingdata table

+0

원하는 경우이 간단한 두 단계 과정을 따르십시오. 1. 아직 작성하지 않았다면 문제를보다 쉽게 ​​복제 할 수 있도록 적절한 CREATE 및 INSERT 문 (및/또는 sqlfiddle)을 제공하십시오 . 2. 아직 수행하지 않은 경우 1 단계에서 제공된 정보와 일치하는 원하는 결과 세트를 제공하십시오. – Strawberry

+0

@Raspberryano 정확히 내가 필요한 것입니다. 고맙습니다. –

+0

고맙습니다. Milan van Dijck – Raspberryano

답변

1

, 나는 당신이 필요로 생각 trainingdata 테이블의 예 .trainingdata.training_id FRAS HAAS2.trainingdata GROUP BY training_id.