Steve,
  You could probably do this by  left joining the table on itself in a query
and select for null in the join:

  select mt1.myfield  from mytable mt1
  left join mytable mt2 on (mt1.myfield = mt2.myfield) and (mt2.weekno = 2)
  where mt1.weekno = 1 and mt2.myfield is null

  should give you all the values in myfield which occur in mytable with
weekno = 1
  where there is NOT a corresponding value in myfield with weekno = 2

  It's not obvious, coz you're using the left join for the opposite of what
you would normally use it for.

  You could also use select distinct....

HTH

Trevor


----- Original Message ----- 
From: "Steve Aish" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, May 20, 2004 2:30 PM
Subject: [DUG] Dealing with large amounts of data - comparing


> Hi y'all,
>
> I have a database that records approx 500,000 records per week in one
> table.
>
> I want to compare week 1 and week 2 for example to see which of a
> certain field are in week 1 but not in week 2.
>
> I am using Interbase.
>
> I thought of running a query (until my pc ran out of hard drive space
> with the temp file size).
>
> I thought the easiest (although probably not the best) way would be to
> fill in a stringlist (I am only worried about 1 field) with week 1 and
> then fill another stringlist with week 2 and then compare them.  I just
> open a query with one field in it and iterate through the query and
>
> List.Add(Query1.FieldByName('Field').asString);
>
> This runs out of memory after 200,000 records or so.  It is not the
> string list running out of memory - it is the Query1... ??? Confuses
> me.
>
> Any ideas?
>
>
> _______________________________________________
> Delphi mailing list
> [EMAIL PROTECTED]
> http://ns3.123.co.nz/mailman/listinfo/delphi
>
>


_______________________________________________
Delphi mailing list
[EMAIL PROTECTED]
http://ns3.123.co.nz/mailman/listinfo/delphi

Reply via email to