Okay, also ich habe diese 3-Tabellen (Orderrouting, TimeTicketDet, WorkCntr):SQL Join mit aggregierten Spalten
Die vierte Tabelle auf der rechten Seite, ist das, was ich meine Ausgabe brauchen aussehen.
Ich brauche nur Spalten aus den ersten beiden Tabellen, aber da die WorkCntr-Spalten in diesen beiden Tabellen nicht übereinstimmen, muss ich die WorkCntr-Tabelle einbinden, um sie zu binden. Es handelt sich um einen Join mit mehreren Bedingungen, bei dem JobNo und WorkCntr für jede entsprechende Zeile übereinstimmen müssen. Ich brauche jeden Datensatz aus der Tabelle OrderRouting zurückgegeben werden und die TotEstHrs und ManHrs Spalten müssen summiert werden
So für die erste Zeile, können wir JobNo 20166-02 für Cutting sehen, wurde geschätzt, dass 2,25 Stunden und insgesamt ManHrs ist die Summe von 1,15, 0,75 und 0,25
Hier ist, was ich bisher versucht und es hat nicht funktioniert: Reihen
SELECT t.JobNo, w.ShortName, SUM(o.TotEstHrs) AS 'Estimated Hours',
SUM(t.ManHrs) AS 'Man Hours'
FROM TimeTicketDet t LEFT JOIN WorkCntr w ON t.WorkCntr = w.WorkCntr RIGHT
JOIN OrderRouting o ON t.JobNo = o.JobNo and w.ShortName = o.WorkCntr
WHERE t.JobNo LIKE '20040%'
AND w.ShortName IN ('Cutting', 'Framing', 'Assembly', 'Grinding',
'Painting', 'Glazing', 'Locknprep', 'Packaging')
GROUP BY t.JobNo, w.ShortName
ORDER BY t.JobNo, w.ShortName;
es gibt den richtigen JobNo, Short, ManHrs Menge, aber es gibt von OrderRouting fehlt und der TotEstHrs-Wert ist falsch
Ich bin mit SQL Server Management Studio
Warum unterscheiden sich TotalEstHrs-Werte in der Ergebnistabelle von denen in der OrderRouting-Tabelle? (d. h. für Framing und Grading) – TheEsnSiavashi
Hoppla, das war nur ein Tippfehler, machte diese Tabellen in Eile. Ich habe es korrigiert, um zukünftige Leser nicht zu verwirren –