Porovnejte dva řádky ve stejné tabulce pro rovnost v SQL
>> mít následující tabulku v mé databázi: <<
kde je DDL pro tuto tabulku? Jaké jsou klíče? Jaké datové typy? Jaká jsou omezení? Opravdu jsi nic nezveřejnil. Ale horší než to, zdá se, že věříte, že v RDBMS existuje něco jako obecný, magický, univerzální „id“. Není. Používáme klíče a podle definice je klíč podmnožinou sloupců tabulky tak, že jsou jedinečné pro každý řádek v této tabulce. Hádat, co jste možná chtěli zveřejnit, hádal bych to:
vytvořit tabulku Insurance_Policies
(foobar_id CHAR(2) NOT NULL primární klíč
CHECK (foobar_id LIKE“),
policy_nbr CHAR(5) NOT NULL
CHECK (policy_nbr LIKE“)
vložit do Insurance_Policies
hodnoty
(’01‘, ‚34564‘),
(’02‘, ‚67548‘),
(’03‘, ‚34564‘),
(’04‘, ‚98271‘),
(’05‘, ‚90198‘);
(’06‘, ‚98271‘);
Hledám dotaz sql, který porovná hodnoty sloupců policy_nbr ve všech řádcích 5 a vrátí ty řádky, které mají hodnotu rovnou alespoň jednomu dalšímu řádku.
vyberte polici_nbr, MIN (foobar_id), MAX (foobar_id)
z Insurance_Policies
skupina podle polici_nbr
s počtem(*) > 1;
udělal jsem předpoklad, protože nemáme žádné specifikace, že existují pouze dva duplicitní foobar_id na číslo politiky. To je jeden z mnoha důvodů, proč žádáme lidi, aby zveřejnili DDL. Kdybych měl pravdu, dal byste na svůj stůl omezení, abyste to ujistil.
při žádosti o pomoc prosím Zveřejněte DDL a dodržujte standardy ANSI/ISO.