Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
SQL Statement Help
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9
OS:
Windows 7
Network:
Windows 2008 Server
Database:
Visual FoxPro
Application:
Desktop
Divers
Thread ID:
01574323
Message ID:
01574327
Vues:
69
>>I have three tables set up as follows:
>>
>>
>>CallReports Table
>>
>> CallReport_Id        etc...
>>1
>>2
>>3
>>
>>
>>
>>CallReport_Users Table
>>
>>CallReport_Id         UserId
>>1                             A
>>2                             A
>>2                             B
>>2                             C
>>3                             C
>>
>>
>>CallReport_Companys Table
>>
>>CallReport_id         Company_id
>>1                                G
>>1                                H
>>2                                M
>>3                                K
>>
>>
>>I would like a single cursor/table that shows a single line for each callreport_id and either the userid, if a single entry, or the word 'Multiple,' if there are multiple userids for a callreport_id. The same for the company_id. For example:
>>
>>
>>CallReport_id                 UserId                          Company_id
>>1                                   A                                 'Multiple'
>>2                                  'Multiple'                        M
>>3                                  C                                  'Multiple'
>>
>>
>>Can someone provide some guidance on how to accomplish this?
>>
>>Thanks in advance,
>>Russell
>
>Select R.*, case when U.cntUsers > 1 then 'Multiple' else UserID end as UserId,
> case when C.cntCompanies>1 then 'Multiple' else Company_id end as Company_id
>from CallReports R
>LEFT JOIN (select CallReport_id, min(UserId) as UserId, count(UserID) as cntUsers 
>FROM  CallReport_Users GROUP BY CallReport_ID) U
>ON R.CallReport_id = U.CallReport_Id
>LEFT JOIN (select CallReport_id, min(Company_Id) as Company_Id, count(Company_ID) as cntCompanies 
>FROM  CallReport_Companys GROUP BY CallReport_ID) C
>ON R.CallReport_id = C.CallReport_Id
Hmm,
this is syntax for SQL Server :-)
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform