Seleccionar la suma de la primera y la última fila en la tabla relacionada

Mads

En mi mesa tengo estas tres mesas:

Equipos:

Id GUID UNIQUE PRIMARY
Name NVARCHAR

Participantes:

Id GUID UNIQUE PRIMARY
FirstName NVARCHAR
[....]
TeamId GUID

ParticipantData:

Id GUID UNIQUE PRIMARY
Weight FLOAT
Date DATETIME
ParticipantId GUID
TeamId GUID

Lo que necesito es una consulta SQL que me proporcione todas las columnas de Teams Y:

  • La suma de las primeras entradas (orden por fecha) en ParticipantData de los participantes en el equipo (TeamId)

  • La suma de las últimas entradas (ordenadas por fecha) en ParticipantData de los participantes en el equipo (TeamId)

Explicación:

Tengo muchos participantes (miembros del equipo) que informan su peso con algún intervalo (Peso + Fecha). Lo que intento lograr es calcular la pérdida de peso de todos los miembros del equipo.

En 2019-01-03, el participante 1 informa Peso 78

El 2019-01-06 El participante 1 informa Peso 75

En 2019-01-04 El participante 2 informa Ponderación 86

El 2019-01-07 El participante 2 informa Peso 83

Necesito la consulta para obtener SumOfFirstWeights (78 + 86) = 164

Necesito la consulta para obtener SumOfLastWeights (75 + 83) = 158

Lo que me da una pérdida de peso de 6.

He probado muchas combinaciones de:

Select *, 
(SELECT TOP (1) Sum(Weight) 
 FROM ParticipantData WHERE (TeamId = Teams.Id) 
 GROUP BY ParticipantId
)
ORDER BY Date As SumOfFirstWeights 
From Teams
Yo trabajo para bac

Su problema es algún tipo de mayor / menor por grupo, además, desea una suma de estos valores.

select t.id, t.name, sum(t1.weight), sum(t2.weight)
from teams t
left join
(
    select pd.teamid, pd.participantid, pd.weight
    from ParticipantData pd
    join 
    (
        select teamid, participantid, min(date) min_date
        from ParticipantData 
        group by teamid, participantid
    ) t on pd.teamid = t.teamid and 
           pd.participantid = t.participantid and
           pd.date = t.min_date
) t1 on t.id = t1.teamid
left join 
(
    select pd.teamid, pd.participantid, pd.weight
    from ParticipantData pd
    join 
    (
        select teamid, participantid, max(date) max_date
        from ParticipantData 
        group by teamid, participantid
    ) t on pd.teamid = t.teamid and 
           pd.participantid = t.participantid and
           pd.date = t.max_date
) t2 on t1.teamid = t2.teamid and
        t1.participantid = t2.participantid
group by t.id, t.name

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

¿Cómo seleccionar la primera y la última fila relevante para un elemento en una tabla?

¿Cómo puedo seleccionar la última fila de la primera tabla en el código html?

Tabla de Postgresql Los mismos datos, la última ocurrencia adyacente y la primera en una fila

Cómo seleccionar la primera y última fila de cada registro único en pandas

Calcule la diferencia de tiempo entre la primera y la última fila de la tabla

¿Cómo obtener la diferencia entre la primera y la última fila de la tabla?

seleccionar la primera y la última fila dentro de un marco de datos?

recursivo seleccionar y unirse a la tabla relacionada

MySQL Count de una tabla donde la condición en la última fila de una tabla relacionada

Excel: obtenga el encabezado de la primera y la última celda no vacía en la fila

Bucle para decidir la primera y la última fila de entradas diferentes en la columna A

Cómo filtrar la primera y la última fila según una condición de la última fila en R

Encuentre el índice de la primera y la última aparición en la tabla de datos

Encuentre el índice de la primera y la última aparición en la tabla de datos

quiero eliminar la primera fila o la última fila de la tabla sqlite3

seleccionar la primera y la última aparición de un valor en un mes determinado

Seleccionar datos de la tercera tabla relacionada

Lopping duplicar la primera y la última fila en el marco de datos de pandas

¿Cómo seleccionar de dos tablas y comparar la suma de la primera tabla si es mayor que la de la segunda tabla?

¿Cómo seleccionar de dos tablas y comparar la suma de la primera tabla si es mayor que la de la segunda tabla?

Indexar la primera y la última fila con NA en un marco de datos

Eliminar la primera y la última fila de una matriz en Python

Obtener valores de la primera fila, la última fila y una agregación en la función de ventana MySQL

Encuentre los 5 valores principales basados en la suma de la última columna y la última fila

seleccionar y eliminar la fila de la tabla

Excel: obtenga la ubicación de la primera y la última celda distinta de cero en la fila

Los pandas asignan el valor de la suma groupby a la última fila de la tabla original

Los pandas asignan el valor de la suma groupby a la última fila de la tabla original

Los pandas asignan el valor de la suma groupby a la última fila de la tabla original

TOP Lista

  1. 1

    ¿Cómo ocultar la aplicación web de los robots de búsqueda? (ASP.NET)

  2. 2

    Kibana 4 , making pie chart , error message

  3. 3

    Manera correcta de agregar referencias al proyecto C # de modo que sean compatibles con el control de versiones

  4. 4

    récupérer les noms de clés depuis Firebase react-native

  5. 5

    OAuth 2.0 utilizando Spring Security + WSO2 Identity Server

  6. 6

    Cómo eliminar o caducar las cookies en Chrome usando asp.net

  7. 7

    desbordamiento: oculto no funciona al hacer zoom en un iframe de YouTube usando transformar

  8. 8

    Cómo extraer una palabra clave (cadena) de una columna en pandas dataframe en python

  9. 9

    Link library in Visual Studio, why two different ways?

  10. 10

    선언되지 않은 유형 'MessagingDelegate'사용

  11. 11

    actualizar el contenido de la vista de reciclaje falla en la hoja inferior

  12. 12

    Ver todos los comentarios en un video de YouTube

  13. 13

    Problema con la vista de impresión de PDF

  14. 14

    ¿Cómo pintar el Dropline de un RowHeader-JTable en el Main-JTable durante un DragAndDrop?

  15. 15

    Pregunta de fórmula de desplazamiento y transposición de Excel / Google Sheets

  16. 16

    ¿Cómo puedo hacer accesible la información de color en tablas HTML?

  17. 17

    ¿Cómo generalizar el JSON en el procedimiento almacenado?

  18. 18

    Recortar fotos rectangulares de escaneos en OpenCV con Python

  19. 19

    2D 배열에 대한 Numpy 요소 별 평균 계산

  20. 20

    Typescript의 "window"전역 개체에 "adsbygoogle"애드 센스 속성을 추가하는 방법은 무엇입니까?

  21. 21

    Error: la ejecución falló para la tarea ': app: compileDebugJavaWithJavac'. java.io.FileNotFoundException:

CalienteEtiquetas

Archivo