Fråga : Uppdateringen bordlägger basxed på resultat av queryen

Experter jag har efter vikarierna att bordlägga @tmpContacts:

ContactID   ClientID   NumContactsNeeded   NumContactsMade   TimePeriod
-------------   ----------  ---------------------------   ------------------------   --------------
1 3 2 OGILTIGA Day
2 4 1 OGILTIGA Week
3 5 1 OGILTIGA pröva Month

I förmiddag som uppdaterar NumContactsMaden, sätter in using efter queryen: för class=" codeSnippet " för

1 för >UPDATE " för prettyprint " för class= för id= " codeSnippet803206 " för >
= ”6/20/2010”,
) a
GRUPP VID a.ClientID
) b, @tmpContacts
<-/pre>


Which ger mig efter resultaten:

ContactID   ClientID   NumContactsNeeded   NumContactsMade   TimePeriod
-------------   ----------  ---------------------------   ------------------------   --------------
1 3 2 1 Day
2 4 1 1 Week
3 5 1 1 Month

However, resultaten bör vara:

ContactID   ClientID   NumContactsNeeded   NumContactsMade   TimePeriod
-------------   ----------  ---------------------------   ------------------------   --------------
1 3 2 1 Day
2 4 1 2 Week
3 5 1 OGILTIGA Month

Since resultaten av underqueryen är:

ClientID   Contacts
----------   -----------förmiddag för
3 1
4 2
13 1

What mig som orätt gör?
" klar "

Svar : Uppdateringen bordlägger basxed på resultat av queryen

uppdateringtempAlias
fastställda NumContactsMade=Contacts
från
(
            VALDA ClientID, SUMMA (kontakter) SOM kontakter
            FRÅN
                  (
                        VALDA ClientID, RÄKNING (Client_Contact_Tbl.ClientID) SOM kontakter
                        FRÅN Client_Contact_Tbl
                        GRUPP AV ClientID, Contact_Status, ContactDate
                        ATT HA Contact_Status ÄR INTE OGILTIG OCH ContactDate >= ”6/20/2010”,
                  ) a
            GRUPP VID a.ClientID
) derivedTable
sammanfoga @tempContactstempAlias på derivedTable.ClientId=tempAlias.ClientId

Syntactically det bör vara korrekt (även om admittedly jag funderare det kunde göras ren upp till avlägsnar härledd bordlägger).  Logiskt jag undrar, om din subquery bör grupperar på contactid ganska än beställareID, men jag antar, om kontakten och beställaren är 1:1 som den ska inte materien.
Andra lösningar  
 
programming4us programming4us