Greetings,

Thank to topic "[sqlite] WHERE clause syntax error" by James W. Walker
I found it somehow relevant to my everyday work.

I have two lists of e.164 codes for two days that may be served by our
VOIP-switch. Someday the ruleset may broke (shorter than expected) and
I need quickly find a difference between two sets. Of course, it can
be done by comparing two lists by sort/diff in unix-style. Examples
and source are here: http://bsx.ru/~gong/sqlite/e164/

$ echo "select e164 from lcr15 except select e164 from lcr16 order by
e164 asc;" | sqlite3 lcr15vs16.db >d.x

$ echo "select e164 from lcr15 where e164 not in (select e164 from
lcr16) order by e164 asc;" | sqlite3 lcr15vs16.db >d.xx

sqlite> .sch
CREATE TABLE lcr15 (e164);
CREATE TABLE lcr16 (e164);

Data for both fields is text field of digits (^7 represents Russia,
^7495 - Moscow, ^1 USA and Canada, ^380 is Ukraine and so on):

1108
12462
..
38044

I thought that those queries provide the same result. I found that
there is some difference:

$ diff  d.xx d.x
1001d1000
< 38034
1005d1003
< 38037
1012,1013d1009
< 38043
< 380432
1093d1088
< 380462
1105d1099
< 38051
1138d1131
< 38065

d.xx has dupe entries (38065 par example) but d.x has no dupes at all.

-rw-r--r-- 1 gong users  45469 2006-06-18 17:57 d.xx
-rw-r--r-- 1 gong users  45425 2006-06-18 17:58 d.x

Any guess?

Alexey.

Reply via email to