Comparer deux lignes dans la même table pour l’égalité dans SQL

sujeeth.selvam – Vendredi 19 janvier 2018 12:34

>> avoir le tableau suivant dans ma base de données: <<

Où est la DDL pour cette table? Quelles sont les clés ? Quels types de données ? Quelles sont les contraintes ? Tu n’as vraiment rien posté. Mais pire que cela, vous semblez croire qu’il existe un « id » générique, magique et universel dans les SGBDR. Il n’y en a pas. Nous utilisons des clés et par définition, une clé est un sous-ensemble des colonnes d’une table de sorte qu’elles soient uniques pour chaque ligne de cette table. En devinant ce que vous auriez pu vouloir poster, je suppose que ceci:

CREATE TABLE Insurance_Policies
(foobar_id CHAR(2) CLÉ PRIMAIRE NON NULLE
CHECK(foobar_id LIKE »),
policy_nbr CHAR(5) NOT NULL
CHECK(policy_nbr LIKE »)

INSERT INTO Insurance_Policies
VALUES
(’01’, ‘34564’),
(’02’, ‘67548’),
(’03’, ‘34564’),
(’04’, ‘98271’),
(’05’, ‘90198’);
(’06’, ‘98271’);

Je recherche une requête sql qui comparera les valeurs de colonne policy_nbr dans les 5 lignes et renverra les lignes qui ont une valeur égale à au moins une autre ligne.

SÉLECTIONNEZ policy_nbr, MIN(foobar_id), MAX(foobar_id)
DE Insurance_Policies
GROUPE PAR policy_nbr
AYANT LE NOMBRE(*) > 1;

J’ai fait l’hypothèse, puisque nous n’avons aucune spécification, qu’il n’y a que deux foobar_id en double par numéro de stratégie. C’est l’une des nombreuses raisons pour lesquelles nous demandons aux gens de publier DDL. Si j’avais raison, vous auriez mis des contraintes sur votre table pour assurer cela.

Veuillez poster DDL et suivre les normes ANSI / ISO lorsque vous demandez de l’aide.

Leave a Reply

Votre adresse e-mail ne sera pas publiée.