0
votes

Comment filtrer la colonne basée sur une colonne filtrée dans une autre table?

Je suis nouveau à SQL, j'apprécierais votre aide ci-dessous:

Je voudrais filtrer des colonnes basées sur une colonne filtrée dans une autre table P>

P>

SELECT *
FROM TableX 
WHERE ColumnX IN (ColX distinct values of TableY, where ColumnZ in ('a','b',c'))

sql

3 commentaires

Tagez la question avec la base de données que vous utilisez.


Vous voulez dire "valeurs distinctes"?


Veuillez lire pour quelques conseils sur l'amélioration de votre question.


4 Réponses :


3
votes

Vous pouvez utiliser Join: XXX

Cependant, vous pouvez également utiliser Existe : xxx


1 commentaires

@Amrsabry. . . Je recommande Existe .



0
votes
SELECT * 
FROM TableX 
where ColumnX in (select y.ColX from TableY as y where y.ColumnZ in ('a','b','c'))

1 commentaires

S'il vous plaît ne postez pas uniquement de code comme réponse, mais fournissez également une explication de votre code et de la manière dont il résout le problème de la question. Les réponses avec une explication sont généralement de meilleure qualité et sont plus susceptibles d'attirer des upvotes.



0
votes

Ceci est la syntaxe correcte pour ce que vous voulez:

SELECT * FROM TableX 
WHERE ColumnX IN (
  SELECT DISTINCT ColX FROM TableY 
  WHERE ColumnZ IN ('a','b','c')
)


0 commentaires

0
votes
select * 
from tableX 
where columnX in (
         select 
            colX 
         from tableY 
         where columnZ in ('a','b','c')
   )

1 commentaires

S'il vous plaît ne postez pas uniquement de code comme réponse, mais fournissez également une explication de votre code et de la manière dont il résout le problème de la question. Les réponses avec une explication sont généralement de meilleure qualité et sont plus susceptibles d'attirer des upvotes.