mit diesem ein wenig Probleme, ...SQL Server - Werte, multipliziert mit verbinden
Die summierten gruppierte Spalte TotalStoreVisitTime aufgrund links multipliziert wird weiter nach unten kommen. Ich habe Unterabfragen versucht, kann sie aber nicht erfolgreich implementieren. Jemand anderes, mit dem ich gesprochen habe, hat dies mit Cursoren usw. versucht, aber es scheint zu kompliziert zu sein.
SELECT t1.StaffName AS "Staff Name"
,MIN(t1.ManagerName) AS "Manager"
,t1.Name AS "Store"
,t1.StartDate AS "Date"
,SUM(t1.TotalStoreVisitTime) AS "Total Store Time" -- this value gets multiplied by the LEFT JOIN further down.
,SUM(t2.TotalClientTime) AS "Total Client Time"
FROM t1
LEFT JOIN t2
ON t1.StaffName =
t2.StaffName
AND t1.Name = t2.Store
AND t1.StartDate =
t2.StartDate
WHERE t1.StartDate >= DATEADD(DAY, -7, GETDATE())
GROUP BY t1.StaffName
,t1.Name
,t1.StartDate
ORDER BY t1.StartDate DESC;
Der Ausgang ist wie folgt:
| Staff Name | Manager | Store | Date | Total Store Time | Total Client Time |
|------------|------------|------------|-----------|------------------|-------------------|
| John Smith | Jane Smith | Test Store | 6/07/2017 | 25.899996 | 4.033332 |
Die gewünschte Ausgabe dieses (dh mit Gesamtspeicherzeit nur die Zeilen aus t1 Summieren und nicht durch die Anzahl der Zeilen in T2 multipliziert wird) ist:
| Staff Name | Manager | Store | Date | Total Store Time | Total Client Time |
|------------|------------|------------|-----------|------------------|-------------------|
| John Smith | Jane Smith | Test Store | 6/07/2017 | 4.316666 | 4.033332 |
Geben Schema von zwei Tabellen und die Beispieldaten ... weiter zu analysieren ... – JayaPrakash