Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
SQL Problem
Message
 
 
À
04/02/2011 14:35:30
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Titre:
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Database:
Visual FoxPro
Divers
Thread ID:
01498808
Message ID:
01498817
Vues:
47
>>>Hi All:
>>>
>>>Consider the following table:
>>>
>>>
>>>Artnum    Catnum
>>>111         INT
>>>111         ISR
>>>111         GRP
>>>222         INT
>>>222         RSA
>>>222         GRP
>>>
>>>
>>>I want a select statement that says 'give me all the records for a particular artnum WHERE the artnum belongs to a catnum of BOTH 'INT' and 'ISR'.
>>>
>>>This would produce the following list:
>>>
>>>
>>>111         INT
>>>111         ISR
>>>111         GRP
>>>
>>>
>>>Thanks,
>>>
>>>Yossi
>>
>>This is the problem that is called Relational Divison Problem. Peter Larsson has a very interesting blog about it.
>>
>>http://sqlblog.com/blogs/peter_larsson/archive/2010/06/30/relational-algebra.aspx
>>
>>one of the possible solutions:
>>
>>select ArtNum from YourTable
>>where CartNum IN ('INT','ISR')
>>group by ArtNum
>>having MIN(CatNum) = 'INT' and MAX(CatNum) = 'ISR'
>
>This produces only one record. What do you think of Sergey's 2 solutions?

Yes, it gives you the ArtNum. JOIN with the original table back using this as derived table.
If it's not broken, fix it until it is.


My Blog
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform