Casse-tête SQL
Posted in 2004
Topics: General Discussion
Translated from English by DrWatson — View original
Bonjour, Je cherche une requête SQL élégante pour le scénario suivant : 1- une très grande table de données composée d'une clé et d'un code 2- il y a environ 100 codes 3- un cas peut être constitué de 1 à n lignes, où chaque ligne comporte une clé et un code 4- il y a environ 1 million de cas Je voudrais compter les cas auxquels il manque un code particulier, « AT ». Merci, Tony Demeis Administrateur de bases de données Ministère de la Santé et des Soins de longue durée Tél. : 416-327-7718
Demeis, Tony a écrit : > Bonjour, > > Je cherche une requête SQL élégante pour le scénario suivant : > > 1 - une très grande table de données composée d'une clé et d'un code > 2 - il y a environ 100 codes > 3 - un dossier peut être constitué de 1 à n lignes, chaque ligne comportant une clé et un code > 4 - il y a environ 1 million de dossiers > > Je voudrais compter les dossiers auxquels il manque un code particulier, « AT ». Est-ce que quelque chose comme ceci vous conviendrait ? (J'ai créé deux petites tables à des fins de test.) Mon test a renvoyé les résultats de comptage corrects... create table cases (keyval smallint, codeval char(2)); insert into cases values (1, "AA"); insert into cases values (2, "AA"); insert into cases values (3, "AA"); insert into cases values (1, "AT"); insert into cases values (1, "AU"); insert into cases values (2, "AU"); insert into cases values (3, "AU"); create table worktemp (keyval smallint, codeval char(2)); insert into worktemp select unique keyval, "AT" from cases; select count(*) from worktemp where keyval NOT IN (select keyval from cases where codeval = "AT"); drop table worktemp; drop table cases; -- June Hunt