Filtrage conditionnel dans la clause WHERE de SQL à l'aide de CASE
La clause WHERE
de SQL est utilisée pour filtrer les données en fonction de conditions spécifiées. Lorsque vous devez appliquer différents critères de filtrage en fonction des données elles-mêmes, l'instruction CASE
dans la clause WHERE
offre une approche puissante et flexible.
Imaginez un tableau contenant différents types d'emplacement ("emplacement", "zone", "division") avec leurs identifiants respectifs stockés dans les colonnes account_location
, xxx_location_area
et xxx_location_division
. Pour récupérer des enregistrements en fonction du type d'emplacement choisi, une instruction CASE
gère avec élégance la logique conditionnelle :
<code class="language-sql">DECLARE @locationType VARCHAR(50); DECLARE @locationID INT; SELECT column1, column2 FROM viewWhatever WHERE @locationID = CASE @locationType WHEN 'location' THEN account_location WHEN 'area' THEN xxx_location_area WHEN 'division' THEN xxx_location_division END;</code>
En définissant les variables @locationID
et @locationType
de manière appropriée, vous pouvez filtrer dynamiquement les résultats. L'instruction CASE
détermine à quelle colonne d'emplacement comparer @locationID
, permettant un filtrage conditionnel efficace et adaptable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!