2017-01-19 8 views
0

Ich muss in der Lage sein, die Werte jedes Datensatzes in einem bestimmten Feld in einem Abfrageergebnis durch die Summe aller Werte in demselben Feld zu teilen. Dadurch kann ich den Prozentsatz berechnen, den jeder Datensatz vom Ganzen hat. Die Ergebnisse müssen in derselben Domäne in einem neuen Feld ausgedrückt werden.Prozentsatz ausdrücken

Das heißt: Jeder Datensatz in ColumnA muss durch die Summe von ColumnA geteilt und dann als Bruch/Prozentsatz in einer neuen, benachbarten ColumnB ausgedrückt werden.

habe ich versucht, dies in Query1:

Total: (select sum (ColumnA) aus Query1) - dann in einem zweiten Unterabfrage Anteil: ([CountOfColumnA/Total])

Diese einmal gearbeitet, aber Access stoppte mich wegen der Query1 von Query1 mit einem zirkulären Fehler.

Jetzt versuche ich es umzuschreiben und die Antwort in nur einer Unterabfrage zu erreichen, um das zirkuläre Problem zu vermeiden. Ich kann das leicht in Excel machen, aber ich weiß nicht genug über Ausdrücke und Codierungen, um es in Access zu verwalten.

Ich habe eine Frage in diesem Forum von jemandem mit einer ähnlichen Frage, aber ich verstehe nicht die Antwort - ich weiß nicht genug über SQL (nichts wirklich), um es an mein Problem anzupassen. Meine Anpassung war so etwas wie diese:

SELECT Query1, ColumnA/((SELECT SUM (ColumnA) FROM Datensätze) in Prozent von den Aufzeichnungen

Antwort

0

Unter der Annahme, Query1 ist ein seltsamer Feldname, versuchen Sie mit:

Select 
    Query1, 
    ColumnA, 
     ColumnA/(Select Sum(T.ColumnA) From Records As T) As 
    Percentage 
From 
    Records