Confronta due righe nella stessa tabella per l’uguaglianza in SQL

sujeeth.selvam-Venerdì 19 gennaio 2018 12:34 PM

>> avere la seguente tabella nel mio database: <<

Dov’è il DDL per questo tavolo? Quali sono le chiavi? Quali tipi di dati? Quali sono i vincoli? Non hai postato niente. Ma peggio di così, sembra che tu creda che esista un “id” generico, magico e universale in RDBMS. Non c’è. Usiamo le chiavi e, per definizione, una chiave è un sottoinsieme delle colonne di una tabella in modo tale che siano univoche per ogni riga di quella tabella. Indovinando cosa avresti potuto voler postare, indovinerei questo:

CREATE TABLE Insurance_Policies
(foobar_id CHAR(2) NOT NULL PRIMARY KEY
CHECK(foobar_id COME “),
policy_nbr CHAR(5) NOT NULL
CHECK (policy_nbr COME “)

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

sto cercando una query sql che metterà a confronto i policy_nbr valori di colonna in tutte le 5 righe e restituire quelle righe che hanno un valore pari ad almeno un’altra riga.

SELEZIONA policy_nbr, MIN(foobar_id), MAX (foobar_id)
DA Insurance_Policies
RAGGRUPPA PER policy_nbr
CON CONTEGGIO(*) > 1;

Ho fatto un’ipotesi, dal momento che non abbiamo specifiche, che ci sono solo due foobar_id duplicati per numero di policy. Questo è uno dei tanti motivi per cui chiediamo alle persone di pubblicare DDL. Se avessi ragione avresti messo dei vincoli sul tuo tavolo per assicurarlo.

Si prega di inviare DDL e seguire gli standard ANSI/ISO quando si chiede aiuto.

Leave a Reply

Il tuo indirizzo email non sarà pubblicato.