Ok, I spoke to soon... And this is starting to drive me up the walls now... i.e. getting REALLY irritating and frustrating.
mysql> DESCRIBE monitorhosts; +----------------------+--------------+------+-----+---------+-------------- --+ | Field | Type | Null | Key | Default | Extra | +----------------------+--------------+------+-----+---------+-------------- --+ | HostID | tinyint(4) | | PRI | NULL | auto_increment | | CompanyID | tinyint(4) | | MUL | 0 | | +----------------------+--------------+------+-----+---------+-------------- --+ 2 rows in set (0.29 sec) mysql> DESCRIBE monitorhostgroupdetails; +-------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------------+--------------+------+-----+---------+----------------+ | HostGroupDetailID | mediumint(9) | | PRI | NULL | auto_increment | | HostGroupID | mediumint(9) | | MUL | 0 | | | HostID | mediumint(9) | | MUL | 0 | | +-------------------+--------------+------+-----+---------+----------------+ 3 rows in set (0.02 sec) mysql> Now, here's the catch.... The HostID field from monitorhosts, is a itemID for a server entry. This server entry is unique, can be in one, multiple or even in no group AT ALL. monitorhostgroupdetails maps a hostID to a groupID, and consist of a unique ID (i.e. only one unique hostID is allowed in one GroupID).... All the statements I got so far, list only the hostID if they are in a group... Not if they aren't in a group AT ALL. monitorhosts table data: | 1 | 1 | | 7 | 1 | >From this, I can see that I have HostID 1 & 7, assigned to CompanyID 1. monitorhostgroupdetails table data: | 51 | 1 | 1 | Here, I can see HostID 1 belongs to HostGroup 1. The results on all the various queries I tried and that's been suggested... Select monitorhosts.HostID from monitorhosts left join monitorhostgroupdetails on monitorhostgroupdetails.HostID = monitorhosts.HostID where monitorhostgroupdetails.HostGroupID !='1'; This returns no data from the monitorhosts table, even through we have HostID which isn't in a group. When HostGroupID is changed to 2, HostID 1 is returned (because it is in the hostgroup table), but hostid 7 which isn't in a group, is still left out of the equasion. SELECT monitorhosts.HostID, monitorhosts.HostDescription FROM monitorhosts, monitorhostgroupdetails WHERE monitorhosts.HostID = monitorhostgroupdetails.HostID AND monitorhostgroupdetails.HostGroupID != '1' AND monitorhosts.CompanyID='1'; Nothing is returned. My gut tells me the same happens as with the previous query. In otherwords, the queries will *only* return any hostID data, if the host is in the monitorhostgroupdetails table, which, isn't going to be right. A host is registered in the database, and only certain hosts, under certain curcumstances is grouped. Basically, what I want to do now, is that when a client modifies the servers assigned in a group, I only want to list the servers which is NOT allready in that specific group..... Is this possible, or am I really going to have to use PHP arrays and compare arrays with hundreds of thousands of values in them?? *deep sigh* ----- Original Message ----- From: "Chris Knipe" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, June 06, 2002 10:16 PM Subject: Re: sub-queries > *MWAH*!!!!!!!!!!! > > Thanks a million, tested and working beautifully.... Can't believe in two > days I didn't think of this... > > -- > me > > > ----- Original Message ----- > From: "Sabine Richter" <[EMAIL PROTECTED]> > To: "Chris Knipe" <[EMAIL PROTECTED]> > Cc: <[EMAIL PROTECTED]> > Sent: Thursday, June 06, 2002 10:14 PM > Subject: Re: sub-queries > > > > SELECT monitorhosts.HostID > > FROM monitorhosts, monitorhostgroupdetails > > WHERE monitorhosts.HostID = monitorhostgroupdetails.HostID > > AND monitorhostgroupdetails.HostGroupID != '1'); > > > > Gruss > > Sabine > > > > Chris Knipe wrote: > > > > > > Lo all, > > > > > > are sub-queries supported on mysql-max 3.23.49 ?? > > > > > > If they are, what's wrong with the following statement? > > > > > > SELECT monitorhosts.HostID > > > FROM monitorhosts > > > WHERE monitorhosts.HostID NOT IN > > > (SELECT HostID > > > FROM monitorhostgroupdetails > > > WHERE monitorhostgroupdetails.HostGroupID='1'); > > > > > > mysql complains about a syntax error right at the begining of the second > > > select... > > > > > > ERROR 1064: You have an error in your SQL syntax near 'SELECT HostID > > > FROM monitorhostgroupdetails > > > WHERE monitorh' at line 4 > > > > > > ty > > > > > > --------------------------------------------------------------------- > > > 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 > > > > > --------------------------------------------------------------------- > 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 > > --------------------------------------------------------------------- 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