If I've got the following two tables:
CREATE TABLE password_log (
time_stamp int(11) unsigned NOT NULL default '0',
remote_host char(15) NOT NULL default '',
remote_user char(50) NOT NULL default '',
status smallint(5) unsigned NOT NULL default '0',
PRIMARY KEY (remote_host,remote_user,status),
KEY time_stamp (time_stamp),
KEY remote_user (remote_user),
KEY status (status)
) TYPE=MyISAM;
CREATE TABLE exclude_log (
ip_block char(15) NOT NULL default '',
PRIMARY KEY (ip_block)
) TYPE=MyISAM;
#
# Dumping data for table 'exclude_log'
#
INSERT INTO exclude_log VALUES ('152.163.188');
INSERT INTO exclude_log VALUES ('152.163.189');
INSERT INTO exclude_log VALUES ('152.163.206');
INSERT INTO exclude_log VALUES ('152.163.207');
INSERT INTO exclude_log VALUES ('195.93.64');
INSERT INTO exclude_log VALUES ('195.93.65');
INSERT INTO exclude_log VALUES ('195.93.66');
INSERT INTO exclude_log VALUES ('195.93.72');
INSERT INTO exclude_log VALUES ('195.93.73');
INSERT INTO exclude_log VALUES ('195.93.74');
INSERT INTO exclude_log VALUES ('205.188.208');
INSERT INTO exclude_log VALUES ('205.188.209');
And I want a list of everything in the 'password_log' table that doesn't
match up with any entry in the 'exclude_log' table, something along the
lines of:
select remote_user, substring_index(remote_host,'.',3) As ip_subnet from
password_log, exclude_log where remote_user != '-' and status=200 and
substring_index(remote_host,'.',3) != exclude_log.ip_block group by
ip_subnet order by remote_user, ip_subnet\g
+---------------------------+-------------+
| remote_user | ip_subnet |
+---------------------------+-------------+
| adamvernau | 207.79.8 |
| amos | 24.53.232 |
| badmilk | 62.57.227 |
| [EMAIL PROTECTED] | 80.103.137 |
| beerbomb60 | 12.80.11 |
| BogusBob | 65.58.37 |
| brendenm123 | 172.190.203 |
| brize | 217.39.73 |
| bruneau | 195.242.80 |
| chicken | 24.101.127 |
| cracking | 213.122.143 |
| DanielNoble | 172.151.183 |
| DESIO | 204.213.78 |
| diamond | 4.60.97 |
| dlgeo | 68.42.127 |
| ewing | 195.29.35 |
| fnadeau | 64.228.196 |
| frogman | 67.234.8 |
| fujerome | 156.143.132 |
| geno6969 | 65.58.94 |
| gravy01 | 81.86.119 |
| iftkharmaan | 62.255.64 |
| jamesz | 204.186.14 |
| jaysap | 12.235.160 |
| karak | 80.63.120 |
| kevin | 152.163.188 |
| kevin | 152.163.189 |
| kevin | 152.163.201 |
| kjelljanssonx | 213.66.154 |
| ksm70512 | 172.195.152 |
| leinad | 210.120.128 |
| leinad | 66.68.138 |
| lemurs | 24.60.185 |
| leolebr | 81.48.138 |
| Malakon | 24.186.21 |
| martisr | 217.39.29 |
| matglew | 81.98.84 |
| mikeestela | 129.106.169 |
| Mirhos | 80.11.19 |
| newyork | 62.134.74 |
| ordinary3 | 12.37.234 |
| pcomdh | 212.185.249 |
| pp-hosereed | 24.61.65 |
| pp-lobeneath | 67.82.86 |
| prodrifter72 | 66.75.124 |
| RbrtMackay | 81.77.108 |
| revrendpoe | 65.43.0 |
| rockey | 62.64.135 |
| rockey | 80.225.68 |
| stwgolfer | 64.221.53 |
| thebear | 205.188.208 |
| thebear | 205.188.209 |
| tooms | 63.225.249 |
| ulyanov | 12.5.196 |
| WHATSUP | 172.173.81 |
| [EMAIL PROTECTED] | 80.143.42 |
| xmartyx | 68.5.149 |
| xym180 | 216.41.132 |
| zook10 | 213.89.57 |
+---------------------------+-------------+
59 rows in set (0.03 sec)
As you can see, I still end up with records from the 'exclude_log'
table.. ?
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php