Liste d'articles en tenant compte de caractéristiques dans une autre t

Liste d'articles en tenant compte de caractéristiques dans une autre t - SQL/NoSQL - Programmation

Marsh Posté le 30-10-2011 à 15:15:51    

Bonjour,
 
Je suis un débutant en SQL et, malgré la lecture de plusieurs forums et tutos, je n'arrive pas à résoudre mon problème qui me semble simple. Voici le problème : 2 tables , la deuxième table contient des codes permettant de définir la nature des articles de la table 1.

Table1
ID1 NOM
01  AAAA
02  BBBB
03  CCCC
etc.
 
Table2
ID2 ID1 CODE REF
08  01  100    1
09  01  101    2
10  01  103    3
11  02  105    4
12  02  110    8
13  03  100    1
14  03  101    2
15  03  110    8


 
J'essaie de créer une requête SQL permettant de connaître tous les articles de la table 1 sans doublons en tant compte des critères suivant de la table2:
CODE=100 et REF=1 et CODE=101 et REF=2 ; dans l'exemple ci-dessous les articles de la table 1 correspondent à 01 et 03. Le problème est lorsque l'on fait cette requête, le résultat est vide :


SELECT ID1 FROM Table1 JOIN Table2 ON ID1=ID2 WHERE CODE=100 AND REF=1 AND CODE=101 AND REF=2 GROUP BY ID1;


Le remplacement du AND par un OR ne fonctionneme pas non plus.
 
Par avance, merci de votre aide précieuse.
 

Reply

Marsh Posté le 30-10-2011 à 15:15:51   

Reply

Marsh Posté le 30-10-2011 à 20:02:14    

En fait, tu ne comprends pas vraiment ce que tu fais non ??
 

Code :
  1. SELECT DISTINCT T1.NOM from TABLE1 T1 INNER JOIN TABLE2 T2 on T1.ID1=T2.ID1 WHERE (T2.CODE = 100 and T2.REF=1) OR (T2.CODE = 101 and T2.REF = 2)

Reply

Marsh Posté le 31-10-2011 à 12:51:50    

[quotemsg=2108777,1,677910]Bonjour,
 
Finalement j'ai trouvé, à partir d'un bout de solution postée, une requête qui fonctionne  
 
 

SELECT DISTINCT T1.NOM from TABLE1 T1 INNER JOIN TABLE2 T2 on T1.ID1=T2.ID1 WHERE (T2.CODE = 100 and T2.REF=1) OR (T2.CODE = 101 and T2.REF = 2)  
GROUP BY T1.ID1 HAVING COUNT (*) >1;


 
Merci pour votre aide.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed