J'ai une table qui a min
et max
colonnes. Je veux rechercher des lignes où un ensemble de nombres sont entre cette plage de min
et max
. Exemple: J'ai un ensemble (3, 4, 11, 18)
.Comment filtrer un ensemble de nombres entre 2 colonnes?
Mon filtrage de requête pourrait ressembler:
(3 between min and max) OR (4 between min and max) OR (11 between min and max) OR (18 between min and max)
Mais je voulais savoir s'il y a une meilleure façon quelque chose comme:
(3,4,11,12) between min and max
qui fera semblable à # 1
J'ai besoin de thi s parce que l'ensemble peut changer entre différentes recherches. Toute aide ou suggestion est appréciée.
La table dans un contexte plus simple est class (classid, classname, minage, maxage). Il y a des milliers de classes - donc j'obtiens la requête web recherchant des classes avec des âges spécifiques par exemple (3,4,11,12) où un utilisateur cherche des classes pour les âges 3, 4, 11 et 12.
Actuellement ma requête ressemble: select * de la classe où ((3 entre min et max) OU (4 entre min et max) OU (11 entre min et max) OU (18 entre min et max)
Pourriez-vous insérer votre ensemble de nombres dans une table temporaire, et joindre cela à votre table de plages, avec une clause where appropriée? –
Pourriez-vous poster la structure de la table et des exemples de ce que vous voulez exactement? – Benoit
Le RWTF nomme les colonnes 'min' et' max'. Cela ne troublera que les lecteurs sains. Veuillez ajouter votre définition de table et un extrait de données pour illustrer ce que vous avez l'intention de faire. – wildplasser