hansman Posted August 21, 2008 Share Posted August 21, 2008 I get this SQL error MySQL client ran out of memory With this query SELECT * FROM `Companies`, `Zips` WHERE `ZipCodes` LIKE CONVERT(_utf8 '%$zip%' USING latin1) COLLATE latin1_german2_ci ORDER BY Rank ASC Whats going on? Quote Link to comment Share on other sites More sharing options...
BlueSkyIS Posted August 21, 2008 Share Posted August 21, 2008 you're not joining the target tables Companies and Zips, so you get every possible combination. you need to add a WHERE condition tying together Companies and Zips, like SELECT * FROM `Companies`, `Zips` WHERE Companies.ZipCodes = Zips.ZipCodes AND Zips.ZipCodes LIKE CONVERT(_utf8 '%$zip%' USING latin1) COLLATE latin1_german2_ci ORDER BY Rank ASC Quote Link to comment Share on other sites More sharing options...
Barand Posted August 21, 2008 Share Posted August 21, 2008 Without a join condition you have a "cartesian join" where every company record is joined to every zip record therefore probably returning millions of rows So if you have X company records and Y zips you get X*Y rows returned. Quote Link to comment Share on other sites More sharing options...
hansman Posted August 21, 2008 Author Share Posted August 21, 2008 BlueSky, That is not returning anything. Barand- How would i go upon using a JOIN, in the SQL statement i have provided. I have a table of companies, with a field full of zipcodes. and i have table of zip codes, each zipcode has a town state etc.. When a user searches there own zip code, compnay info will come up, and information about the zip code will come up. Quote Link to comment Share on other sites More sharing options...
Barand Posted August 22, 2008 Share Posted August 22, 2008 Need to know exactly what your tables look like to answer that one. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.