Не было никакого способа, которым я мог бы соответствовать тому, что мне нужно в названии, поэтому извините за это. Во всяком случае, здесь у меня есть стол:Как выбрать людей, которые имеют уникальное полное имя
CREATE TABLE DOCUMENTS
(
ID NUMBER (5,0)
, PIN VARCHAR2(7 BYTE)
, FIRST_NAME VARCHAR2(20 BYTE)
, LAST_NAME VARCHAR2(20 BYTE)
);
INSERT INTO "JM_WARRANT"."DOCUMENTS" VALUES (1,'AZU5FG', 'JOHN', 'SMITH')
INSERT INTO "JM_WARRANT"."DOCUMENTS" VALUES (2,'BG45SF', 'MARY', 'BROWN')
INSERT INTO "JM_WARRANT"."DOCUMENTS" VALUES (3,'AZU5FG', 'JOHN', 'SMITH')
INSERT INTO "JM_WARRANT"."DOCUMENTS" VALUES (4,'WHT56B', 'JOHN', 'SMITH')
INSERT INTO "JM_WARRANT"."DOCUMENTS" VALUES (5,'BG45SF', 'MARY', 'BROWN')
INSERT INTO "JM_WARRANT"."DOCUMENTS" VALUES (6,'ZSF09V', 'JOSCH','ZEPLIN')
ID PIN FIRST_NAME LAST_NAME
---|--------|----------|-------
1 |AZU5FG | JOHN | SMITH
2 |BG45SF | MARY | BROWN
3 |AZU5FG | JOHN | SMITH
4 |WHT56B | JOHN | SMITH
5 |BG45SF | MARY | BROWN
6 |ZSF09V | JOSCH | ZEPLIN
Проще говоря, человек однозначно идентифицируется ПИН-кодом. Как вы знаете, разные люди могут иметь одно и то же имя. Из этой таблицы мне нужно выбрать только те, которые не имеют одного имени с кем-либо еще. Обратите внимание, что один человек может иметь более одной записи в таблице. Поэтому, если мы возьмем эту таблицу данных примеров, MARY BROWN и JOSCH ZEPLIN имеют право на участие, потому что у них есть уникальные имена. Хотя у MARY BROWN две записи, это один и тот же человек из-за того же PIN-кода. Но ДЖОН СМИТ не отвечает требованиям, потому что есть два человека с тем же именем. Каким будет правильный SQL для получения этого результата?
EDIT: Кроме того, мне нужно получить только одну запись. Поэтому в основном из этой таблицы я должен был бы увидеть результат ниже:
PIN FIRST_NAME LAST_NAME
--------|----------|-------
BG45SF | MARY | BROWN
ZSF09V | JOSCH | ZEPLIN
Вам нужны все столбцы в результате или только имена? – Sachu
Все, кроме столбца ID. –