Comment sélectionner plusieurs lignes avec la même condition de colonne? J'ai ces deux paramètres, Bob et Kay. J'ai donc besoin de récupérer l'enregistrement Bob et Kay. Si Bob ou Kay n'existe pas dans le tableau, retournez vide. Si Bob et Kay existent dans le tableau montrent deux enregistrements. P> Le SQL ci-dessous ne fonctionne pas pour moi p> Select * from table where Name = 'Bob' And Name = 'Kay'
4 Réponses :
Vous voulez sélectionner une ligne où le nom = 'Bob' ou fort> nom = 'kay'. N'oubliez pas que le SQL est appliqué par rangée. Un nom ne peut donc pas égaler à la fois 'Bob' et 'Kay' en même temps. P> Sélectionnez * à partir de la table où nom = 'Bob' ou Nom = 'KAY' CODE> P>
Disons si SELECT * à partir de la table où nom = 'Bob' ou Nom = 'AAAAA'. AAAAA n'existe pas sur la table. Je veux ça retour vide au lieu de bob record
Ceci suppose que Bob et Kay sont uniques dans le tableau
Select * from table where Name IN ('Bob', 'Kay') and ( select count(*) from table where Name IN ('Bob', 'Kay')) = 2
Oui. Compte (nom distinct) au lieu de compter (*)
Vous pouvez essayer d'utiliser Query 1 strong>: p> existez code> avec
avec la fonction d'agrégat code> de condition.
J'utiliserais des tables temporelles pour faire cette opération, quelque chose comme ceci:
Quels RDBM utilisez-vous?
db im en utilisant est oracle
Vous semblez manquer quelques détails. Donc, si seulement l'un des
Bob code> ou
kay code> n'existe pas, vous ne voulez pas que des lignes retournées? Et s'il y a plusieurs rangées avec (les deux?), Voulez-vous que toutes les lignes sont retournées? Un seul pour chacun? Si oui, quelle est l'exigence pour lesquelles?