J'essaie d'écrire une requête: p>
Mais si cet exemple renvoie une réponse vide, j'ai au lieu de sélectionner pour sélectionner l'identifiant où Comment puis-je écrire une seule requête pour résoudre ce problème? P> Sélectionnez ID des utilisateurs où Status = 3 CODE> P>
Status = 4 code>, et s'il renvoie à nouveau vide, où Statut = 5 code> . p>
4 Réponses :
Vous pouvez utiliser ou conditionner ou utiliser dans l'opérateur
SELECT id FROM users WHERE status IN (3,4,5)
Son wierd mais 9 sorti des 10 fois, vous pouvez mieux réécrire cela à Union TOUT code> type de questions telles que Sélectionnez ID des utilisateurs où Status = 3 Union ... Statut = 4 ... Union ... Statut = 5 code> La base de données d'Oracle est-ce que cela rewite automatique pour la plupart des ou code> ou in () code> requêtes. Ou parce que ceux-ci sont incrémentés des valeurs, vous améliorez votre mieux en utilisant le statut entre 3 et 5 code> et forcer une balayage de plage.
Peut-être peut-être commencer à apprendre la requête, je veux lui fournir une option pour lui, peut-être que je vais supprimer la réponse bientôt
THEQ Requête retournera le statut 5 même si l'état 3 existe.
Je pense que vous voulez simplement: si vous voulez plusieurs utilisateurs: p> Si vous avez une liste fixe que vous souhaitez Testez, vous pouvez également utiliser: p>
Malheureusement, j'ai besoin d'obtenir tous les utilisateurs avec ce statut, NT un seul
Je vais utiliser la déclaration de cas dans la clause WHERE:
select id
from users
where status = case when status = 3 and id is null then 4
when status = 4 and id is null then 5
else 3
end
En supposant que votre table ressemble à ceci: et en fonction de votre état où vous souhaitez voir l'état le plus bas pour chaque identifiant, vous pouvez utiliser alors vous obtiendrez un résultat comme celui-ci: p> min () < / code> opérateur.
Donc, à partir de votre requête d'origine: p>
On dirait que vous souhaitez utiliser une sous-requête dans votre
où code> clause.Cet identifiant de colonne est-il unique? Si aussi le résultat pour Statut = 5 est vide, avez-vous besoin de rechercher des résultats pour statut = 6?
Statut 5 Ne peut jamais être vide, au moins un utilisateur avec le statut 5 existe