Hallo Forum-Gemeinde,
z.Z. benutze ich (leider) Access03. Ich möchte ein Update auf eine Tabelle mit einem Subselect ausführen. Leider bekomme ich den SQL nicht korrekt zusammen. Evtl. könnt Ihr mir helfen…
Also ich habe 2 Tabellen:[INDENT]MIS_CU:
CU_No, CU_UP(Stück_Preis)
1111, NULL
1222, NULL
1234, NULL
[/INDENT][INDENT]MIS_PC:
PC_CU_No, PC_QS(Staffelmenge), PC_Act(Preispos)
1111, 50, 5
1111, 50, 2
1111, 10, 6
1111, 10, 4
1234, 90, 100
1234, 90, 180
1234, 10, 120
1234, 10, 190
[/INDENT]Ich möchte die 1.Tabelle updaten: mit dem niedrigsten Preis aus der Summe der Preispositionen, gruppiert auf No und Staffelmenge.
D.h. in MIS_CU müsste nach dem Update folgendes stehen (die betreffenden DS sind unterstrichen)[INDENT]1111, 10
1222, NULL
1234, 310
[/INDENT]Hier mein SQL mit dem ich auf die Fehlermeldung “Operation muss eine aktualisierbare Abfrage verwenden” treffe:
UPDATE MIS_CU
SET MIS_CU.CU_UP =
(SELECT MIN(Preis.stck_preis) AS stck_preis
FROM (SELECT MIS_PC.PC_CU_No, SUM(MIS_PC.PC_Act) AS stck_preis
FROM MIS_PC
GROUP BY MIS_PC.PC_CU_No, MIS_PC.PC_QS
) AS Preis
WHERE MIS_CU.CU_NO = Preis.PC_CU_No
GROUP BY Preis.PC_CU_No
)
WHERE MIS_CU.CU_NO IN
(SELECT MIS_PC.PC_CU_No
FROM MIS_PC
GROUP BY MIS_PC.PC_CU_No
)
Danke für jeden Tipp!
Gruß