Fråga : Korrelerad underquery för SQL server

Jag behöver att köra en query som ska körning, efter en beställa har förlagts för att uppdatera en TotalItems har satt in för att låta oss veta antalet av objekt som beställas mot en kvot, har satt in. Beställde objekt kan ha över ritt att prissätta som rymmer kvoten figurerar i en separat table.

Products Table
ID, producent, modellerar, Price
1, ManuA, ModelA, 50.00
2, ManuB, ModelB, 25.50
3, ManuC, ModelC, 14.65
4, ManuD, ModelD, 68.00

PriceOverRide Table
ID, ProductsID, PartnerID, prissätter, kvoten, TotalItems
1, 1, 12, 55.00, 200, 1
2, 4, 8, 69.00, 500, 0
3, 3, 12, 14.00 som ÄR OGILTIGA, NULL

Partner Table
ID, namnger, kodifierar, etc.-…
8, PartnerA, XXX, …
12, PartnerB, XXX,… objekt för

Only, som har över ridit för att prissätta ska, skrivs in i PriceOverRiden bordlägger. Så i bordlägga över, objekt ManuA, ManuC och ManuD har som förbigås för att prissätta (PriceOverride.Price) som är utvald i stället för Products.Price. Om kvoten är OGILTIG därefter att är boten, vi precis har inte en kvot på objektet. Om TotalItemsen värderar (som ska förhöjning som baserades på, beställer förlagt), går över kvoten figurerar därefter, att objektet stoppar att visa över ritt prissätter och återvänder tillbaka till Products.Price. Detta allt fungerar fine.

To tillfogar till detta, det finns en partner bordlägger. PartnerLEGITIMATIONEN används i PriceOverRiden bordlägger för att låta åsidosättandet prissätter för att påverka endast en bestämd partner som baseras på PartnerIDen, värderar ganska, än över board.
The bet mig behöver hjälp med är när beställa är förlagt mig behöver att öka PriceOverRide.TotalItemsen värderar vid numrera av beställde objekt, om endast de är i PriceOverRiden bordlägger och har en kvot. Om så for example mitt beställa innehåller 2 * ManuA ModelA objekt, 1 ManuC ModelC och 1 ManuD ModelD objekt, därefter som jag skulle önskar PriceOverRiden bordlägger för att öka TotalItemsen sätter in vid numrera av objekt, ordered.

Our PriceOverRide bordlägger därefter blivet:

ID, PriceID, PartnerID, prissätter, kvoten, TotalItems
1, 1, 12, 55.00, 200, 3
2, 4, 8, 69.00, 500, 1
3, 3, 12, 14.00 som ÄR OGILTIGA, den NULL

I funderare som ska detta var en korrelerad underquery, men precis cant får den höger. Förmiddag I inte ett sakkunnigt på SQL men kan få by.
" klar "

Svar : Korrelerad underquery för SQL server

oops typo där
1:
2:
3:
4:
5:
6:
7:
uppdatera a
uppsättning a.Totalitems = fall när a.Totalitems + b.quantity  < a="">
           
Andra lösningar  
 
programming4us programming4us