In SQL können Sie mit der WHERE -Klausel eine bestimmte Zeile filtern, um die Methode von abgerufenen Daten aus der Tabelle anzupassen. Dieses Problem schlägt die Herausforderung vor, zwei verschiedene Datensätze aus derselben Tabelle zu extrahieren, und jeder Datensatz trifft unterschiedlich, wenn Klauseln.
Die Beispieltabelle "Transaktionen" speichert die Aufzeichnungen von Finanztransaktionen, die durch ID, Konto -ID, Budget -ID, Punkte und Transaktionstypen gekennzeichnet sind. Die Aufgabe besteht darin, die Summe der Verteilungsakkumulation jeder einzelnen Budget -ID und der Summe der Verteilungspunkte zu berechnen.dafür kann es eine einzelne SQL -Abfrage konstruieren, die das notwendige dort kombiniert, wo Klauseln. Die folgende Abfrage erzielt das Ergebnis der Erforderlichen:
Wählen Sie Budget_id aus, Sum (Fall, wenn type = 'Allocation' dann sonst 0 Ende zeigt) wie zugewiesen, Sum Aus Transaktionen Gruppe von budget_id
SELECT budget_id,
SUM(CASE WHEN type = 'allocation' THEN points ELSE 0 END) AS allocated,
SUM(CASE WHEN type = 'issue' THEN points ELSE 0 END) AS issued
FROM transactions
GROUP BY budget_id
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3