Thanks - replace set with setid - query is the same (it was badly
simplified sorry)

Another real world example using the sql query

SELECT * FROM files WHERE hash NOT IN (SELECT hash FROM files WHERE
setid=0);

file1 0    8465-CEEF-126A-0F04-1EDC-1D7B-331F-9279
file1 1    8465-CEEF-126A-0F04-1EDC-1D7B-331F-9279
file1 2    8465-CEEF-126A-0F04-1EDC-1D7B-331F-9279
file1 3    B2F9-B5D4-A427-9FE2-9724-BF95-1571-7CE5
file1 4    0546-4667-5A69-6478-FC97-6F27-840D-7D62
file1 5    0546-4667-5A69-6478-FC97-6F27-840D-7D62
file1 6    0546-4667-5A69-6478-FC97-6F27-840D-7D62
file1 7    01EE-7E2E-2242-E734-B125-D02F-A7F0-DC29
file1 8    01EE-7E2E-2242-E734-B125-D02F-A7F0-DC29

I get an empty data set again, what I want is something like this

file1 1    8465-CEEF-126A-0F04-1EDC-1D7B-331F-9279
file1 3    B2F9-B5D4-A427-9FE2-9724-BF95-1571-7CE5
file1 6    0546-4667-5A69-6478-FC97-6F27-840D-7D62
file1 8    01EE-7E2E-2242-E734-B125-D02F-A7F0-DC29


also there could be instances where  there is no setid=0 row, as below, in
this case I would want the same dataset as returned above

file1 1    8465-CEEF-126A-0F04-1EDC-1D7B-331F-9279
file1 2    8465-CEEF-126A-0F04-1EDC-1D7B-331F-9279
file1 3    B2F9-B5D4-A427-9FE2-9724-BF95-1571-7CE5
file1 4    0546-4667-5A69-6478-FC97-6F27-840D-7D62
file1 5    0546-4667-5A69-6478-FC97-6F27-840D-7D62
file1 6    0546-4667-5A69-6478-FC97-6F27-840D-7D62
file1 7    01EE-7E2E-2242-E734-B125-D02F-A7F0-DC29
file1 8    01EE-7E2E-2242-E734-B125-D02F-A7F0-DC29



On 30 January 2013 22:14, Michael Black <mdblac...@yahoo.com> wrote:

> 'set' is a reserved word.  I get an error running your select statement.
>
> Change it.
>
>
> SQLite version 3.7.14.1 2012-10-04 19:37:12
> Enter ".help" for instructions
> Enter SQL statements terminated with a ";"
> sqlite> create table files(file,setid,hash);
> sqlite> insert into files
> values('1.jpg',0,'5DA4-CD3A-62DE-2F9D-4BD7-6E24-EACE-936D');
> sqlite> insert into files
> values('1.jpg',1,'5DA4-CD3A-62DE-2F9D-4BD7-6E24-EACE-936D');
> sqlite> insert into files
> values('1.jpg',2,'5DA4-CD3A-62DE-2F9D-4BD7-6E24-EACE-936D');
> sqlite> insert into files
> values('1.jpg',3,'5DA4-CD3A-62DE-2F9D-4BD7-6E24-EACE-936D');
> sqlite> insert into files
> values('1.jpg',4,'890B-4533-447E-6461-070E-FDB7-799E-1FB8');
> sqlite> SELECT * FROM files WHERE hash NOT IN (SELECT hash FROM files WHERE
> setid=0);
> 1.jpg|4|890B-4533-447E-6461-070E-FDB7-799E-1FB8
>
>
> -----Original Message-----
> From: sqlite-users-boun...@sqlite.org
> [mailto:sqlite-users-boun...@sqlite.org] On Behalf Of Paul Sanderson
> Sent: Wednesday, January 30, 2013 4:05 PM
> To: General Discussion of SQLite Database
> Subject: Re: [sqlite] SQL query
>
> I have a test set with the following real data
>
> 1.jpg    0    5DA4-CD3A-62DE-2F9D-4BD7-6E24-EACE-936D
> 1.jpg    1    5DA4-CD3A-62DE-2F9D-4BD7-6E24-EACE-936D
> 1.jpg    2    5DA4-CD3A-62DE-2F9D-4BD7-6E24-EACE-936D
> 1.jpg    3    5DA4-CD3A-62DE-2F9D-4BD7-6E24-EACE-936D
> 1.jpg    4    890B-4533-447E-6461-070E-FDB7-799E-1FB8
>
> SELECT * FROM files WHERE hash NOT IN (SELECT hash FROM files WHERE set=0)
>
> returns an empty data set, but should return the item from set 4
>
> The following does work
>
> select * from files where set > 0 and not exists (select * from files a
> where hash=files.hash and set=0);
>
> which is great and solves my problem, but I cant see why the first query
> doesn't work.
>
>
> On 30 January 2013 21:37, Paul Sanderson
> <sandersonforens...@gmail.com>wrote:
>
> >
> > Thanks All - duplicated means the content is the same as well as the
> name,
> > different is the filename is the same but the content is different.
> >
> > I need to refine my query to produce only one copy of any that is not in
> > set 0
> >
> > file1    0    ABCD
> > file1    1    ABCD
> > file1    3    EF01
> > file2    0    BCE2
> > file2    2    BCE2
> > file3    5    EE34
> > file4    0    EE22
> > file4    1    FF34
> > file4    3    FF34
> > file4    4    FF34
> >
> >
> > My query would return
> >
> > file1    3    EF01
> > file3    5    EE34
> > file4    1    FF34, or file4    3    FF34, or file4    4    FF34
> >
> > Thanks
> >
> >
> >
>
>
> --
> Paul
> www.sandersonforensics.com
> skype: r3scue193
> twitter: @sandersonforens
> Tel +44 (0)1326 572786
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>



-- 
Paul
www.sandersonforensics.com
skype: r3scue193
twitter: @sandersonforens
Tel +44 (0)1326 572786
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to