Desidero trovare le coppie distinte di nomi nella tabella che hanno gli stessi elementi esatti nella colonna degli articoli. Per esempio:Restituisce coppie distinte di nomi che hanno gli stessi elementi esatti nella colonna
CREATE TABLE t
(
name VARCHAR(255),
item VARCHAR(255)
);
INSERT INTO t VALUES("Alice", "Orange");
INSERT INTO t VALUES("Alice", "Pear");
INSERT INTO t VALUES("Alice", "Lemon");
INSERT INTO t VALUES("Bob", "Orange");
INSERT INTO t VALUES("Bob", "Pear");
INSERT INTO t VALUES("Bob", "Lemon");
INSERT INTO t VALUES("Charlie", "Pear");
INSERT INTO t VALUES("Charlie", "Lemon");
La risposta qui sarebbe Alice,Bob
perché hanno preso gli stessi elementi esatti.
Voglio farlo con doppia negazione (utilizzando NON ESISTE/NON IN) solo che penso sia più adatto a questa domanda, ma non ho potuto trovare nulla che sia lontanamente vicino all'essere funzionale.
Questo è in qualche modo simile a this domanda
ma sto usando SQLite, quindi non posso usare group_concat()
ma mi chiedevo come sarebbe stato fatto utilizzando divisione relazionale utilizzando NON ESISTE/NON IN.
Ti ho creato un SQLFiddle per giocare con h ere ~ http://sqlfiddle.com/#!5/b70cd – Phil
Quanti oggetti diversi puoi avere nella tua tabella? –
@TimBiegeleisen Quanto vuoi. Suppongo che non influisca su nulla, purché possa ancora restituire coppie che contengono lo stesso identico insieme di elementi. – maregor