Ich habe dies folgende Abfrage, die mir ein kleines Ergebnis wird gesetztSQL Update Tabelle Schleife
SELECT
LOC, PLAN, FiscalYear, FiscalPeriod, SALES
FROM
#CurrentPrd PrdAg
WHERE
NOT EXISTS (SELECT AGE.ECPLAN
FROM ECPG_BAK AGE
WHERE PrdAg.LOC = AGE.STORE
AND PrdAg.PLAN = AGE.PLAN
AND PrdAg.FiscalYear = AGE.FiscalYear
AND PrdAg.FiscalPeriod = AGE.FiscalPeriod)
Die Ergebnismenge wie folgt aussieht:
LOC PLAN FiscalYear FiscalPeriod SALES
---------------------------------------------------
5 6 2031 5 -0.206232
12 6 2031 5 5.243052
12 8 2020 4 1.699716
12 8 2020 5 1.699716
14 6 2031 5 0.299972
19 6 2031 5 1.549812
19 8 2020 5 20.114116
33 6 2031 5 2.159767
33 8 2020 5 23.796883
34 6 2031 5 1.142360
34 8 2020 5 9.348583
................................................
Dann habe ich diese andere Frage, die mir bekommt Nummer, die ich zur Spalte SALES
hinzufügen muss. Zum Beispiel verwendet die Abfrage unten, I fixed loc und planen mit einer Zahl zu kommen:
select
(select SALES
from #TOT
where loc = 12 and PLAN = 6) - (select sum(sales)
from #CurrentPrd
where store = 12 and PLAN = 6) as Comp
Nehmen wir an, diese Abfrage über 10 bekommt mir, dann muss ich es hinzufügen 2 des Ergebnisses oben auf der Leitung , so dass es
LOC PLAN FiscalYear FiscalPeriod SALES
----------------------------------------------
12 6 2031 5 15.243052
Mein Ziel ist es etwas dynamischer und machen den gesamten Prozess auf einfache Art und Weise zu machen, so dass für jeden LOC und PLAN Kombination, würde ich diese Werte in die zweite Auswahl stecken die richtige Nummer abrufen Um zu SALES hinzuzufügen, aktualisieren Sie #CurrentPrd. Das Schreiben der neuen Nummer in eine neue temporäre Tabelle ist ebenfalls möglich.
Ich hoffe, ich konnte erklären, was ich versuche zu tun. Jede Hilfe wäre willkommen.
Danke.
Ich bin mir nicht sicher, warum Sie etwas dynamischer brauchen, wenn es vollständig statisch ist. .. z.B Können Sie nicht einfach eine Unterabfrage in Ihrer SELECT-Anweisung verwenden, wie SELECT LOC, PLAN, FiscalYear, FiscalPeriod, SALES + (SELECT Sales VON #TOT WHERE LOC = PrdAg.LOC UND PLAN = PrdAg.PLAN) - (SELECT SUM (Sales) FROM #CurrentPrd WHERE Geschäft = PrdAg.LOC UND PLAN = PrdAg.PLAN) FROM #CurrentPrd AS PrdAg ... '? – ZLK