0
votes

Trouver les rangées d'une table qui correspond à l'entrée exacte

J'ai 2 tables xxx

et xxx

Je veux trouver le comité qui correspond au nombre d'employés et de l'employé donné noms

pour par exemple J'ai ces comités avec des employés donnés Mon entrée est empa, EMPB, EMPC et EMPD Je m'attends que seul le comité culturel est restitué xxx

avec cette requête, cela me renvoie tous les comités en tant que EMPA est présent dans tous. Je veux faire un match exact des employés. Appréciez les intrants pour résoudre mon problème.

merci, PAVAN

sql

1 commentaires

Merci pour vos réponses. Ce SQL fonctionne bien pour un comité par exemple ci-dessus. Cependant, si mes contributions disent que l'EMPM, l'EMPN, l'EMPA et l'EMPA, B, C, D, E et moi avons le nombre d'employés 3 et 5 respectivement. Je m'attends à ce que le comité sportif et le comité des finances comme la production.


4 Réponses :


1
votes

Je pense que vous voulez: xxx

TABLE1 ne semble pas être nécessaire pour cela.

Note: que ci-dessus suppose que Il n'y a pas de doublons dans table2 .


0 commentaires

0
votes

Voici votre requête.

select Col2 from table2 where Col1 in 
    (select col1 from table1 where Col2 =  
        (select count(1) ct from table2 where Col2 in ('EmpA', 'EmpB', 'EmpC', 'EmpD'))


0 commentaires

0
votes

Cette requête utilise des comptes provenant des tables de données: xxx


0 commentaires

0
votes

Je préférerais utiliser compter code> compter dans ayant la clause code> pour un tel scénario afin d'éviter le problème lorsque la même entrée apparaît plus d'une fois dans une table.

select t2.col2
from table2 t2
where t2.col2 in ('EmpA', 'EmpB', 'EmpC', 'EmpD') 
group by t2.col1
having count(distinct t2.col2) = 4;


0 commentaires