Ich habe eine Reihe von Tabellen einschließlich Reps, Teams, Fehler, Fehlerprotokoll. Fehlerprotokoll listet alle Fehler auf, die von einem Rep gemacht wurden. Jeder Vertreter ist in einem Team. Jeder Repräsentant hat eine Edge ID (Benutzernummer) Jeder unterschiedliche Fehlertyp hat einen Punktewert (in der Fehlertabelle gespeichert).ACCESS SQL> SELECT CASE HILFE
ich diese Abfrage in Access habe den Punktwert für jede Wiederholung in einem Team zwischen zwei Daten insgesamt:
SELECT
Reps.Forename
, Reps.Surname
, [Error Log].[Edge ID]
, Teams.[Team Code]
, Sum(Errors.Points) AS SumOfPoints
FROM Teams
INNER JOIN (
Reps INNER JOIN (
Errors INNER JOIN [Error Log]
ON Errors.[E&CD code] = [Error Log].[E&CD Code])
ON Reps.[Edge ID] = [Error Log].[Edge ID])
ON Teams.[Team Code] = Reps.[Team Code]
WHERE
((([Error Log].[Date Logged]) Between [Error logged from: (dd/mm/yyyy)] And [Error logged to: (dd/mm/yyyy)])
AND
((Teams.[Team Code])=[Team Code:]))
GROUP BY
Reps.Forename
, Reps.Surname
, [Error Log].[Edge ID]
, Teams.[Team Code]
ORDER BY
Sum(Errors.Points) DESC;
Ich mag jeder Wiederholung eine Note geben, abhängig von ihrer Anzahl von Punkten, wobei gilt: 0-4 Punkte = Note 3, 5-9 = 4 und 10+ = 5
Wie kann ich das programmieren (SELECT CASE vielleicht)? Ich habe es in der letzten Stunde versucht, aber ich kann es nicht richtig machen!
Danke für jede Hilfe.
+1 das ist viel hübscher als meine IIF-Lösung. genestete Bedingungen für das, was er will, wäre schrecklich wieder zu lesen –
+1 Sie lernen jeden Tag etwas Neues! – Andomar
Warum, oh warum, hast du das nicht Select, MS! Wieviele Stunden habe ich damit verbracht, in der Hilfe nach dieser Funktion zu suchen ... – mavnn