I dunno. I somehow thought HAVING needed a GROUP BY or somesuch... Go ask the SQL guys or try it and find out. :-) I pretty much just dink with the SQL until it works, myself... :-) On Thu, May 31, 2007 6:03 pm, Daevid Vincent wrote: > Jumping in late so forgive if I'm mistaken, but can't you just use > "HAVING" in place of "WHERE" > >> > select member_id, first_name, last_name, email, ..., >> > (5*(first_name='$first_name) + >> 2*(first_name='$first_name')) as score >> > from members > HAVING score > 0 > > >> -----Original Message----- >> From: Richard Lynch [mailto:ceo@xxxxxxxxx] >> Sent: Thursday, May 31, 2007 3:42 PM >> To: Afan Pasalic >> Cc: Jared Farrish; php-general@xxxxxxxxxxxxx >> Subject: Re: Re: find (matching) person in other table >> >> MySQL doesn't let you use the calculated values (score) in the where >> clause. >> >> PostgreSQL does, as I recall. >> >> Sorry. >> >> You may be able to get around that with: >> >> Do a GROUP BY on something unique, so the GROUP BY is pointless, but >> then you can use HAVING score > 0 >> >> Use a sub-query in MySQL 4.mumble or higher, and the outer query can >> use 'score' to get rid of the 0-point non-matches >> >> Build up the expression for $score and $where at the same time like: >> >> $where = ' 0 '; >> $score = ' 0 '; >> $where .= " OR lastname = '$lastname'; >> $score .= " + 5 * (lastname = '$lastame' ) "; >> $where .= " OR firstname = '$firstname' "; >> $score .= " + 2 * (firstname = '$firstname' ) "; >> >> This gets tiresome to type, but is least confusing to >> non-programmers... >> >> On Thu, May 31, 2007 9:36 am, Afan Pasalic wrote: >> > >> > >> > Jared Farrish wrote: >> >> On 5/30/07, Afan Pasalic <afan@xxxxxxxx> wrote: >> >> email has to match "in total". sales@xxxxxxxxxxxx and >> >> info@xxxxxxxxxxxx >> >>> are NOT the same in my case. >> >>> >> >>> thanks jared, >> >> >> >> If you can match a person by their email, why not just SELECT by >> >> email >> >> only >> >> (and return the persons information)? >> > 'cause some members can be added to database by administrator and >> > maybe >> > they don't have email address at all. or several memebers >> can use the >> > same email address (sale@xxxxxxxxxxxxxxx) and then macthing >> last name >> > is >> > kind of "required". that's how it works now and can't change it. >> > >> >> Consider, as well, that each time you're calling a database, >> you're >> >> slowing >> >> down the response of the page. So, while making a bunch of small >> >> calls >> >> might >> >> not seem like that much, consider: >> >> >> >> ||||||| x ||||||| >> >> ||||||| a ||||||| >> >> ||||||| b ||||||| >> >> >> >> Versus >> >> >> >> ||||||| x, a, b ||||||| >> >> >> >> The letters represent the request/response data (what you're >> giving >> >> to >> >> get, >> >> then get back), and the pipes (|) are the overhead to >> process, send, >> >> receive >> >> (on DB), process (on DB), send (on DB), receive, process, return >> to >> >> code. >> >> >> >> The overhead and latency used to complete one request makes it a >> >> quicker, >> >> less "heavy" operation. If you did the first a couple hundred or >> >> thousand >> >> times, I would bet your page would drag to a halt while it >> loads... >> > agree. now, I have to figure it out HOW? :-) >> > >> > I was looking at levenshtein, though, I think the richard's >> solution >> > is >> > just enough: >> > >> > select member_id, first_name, last_name, email, ..., >> > (5*(first_name='$first_name) + >> 2*(first_name='$first_name')) as score >> > from members >> > where score > 0 >> > >> > though, I'm getting error: "Unknown column 'score' in where >> clause"?!? >> > >> > thanks jared. >> > >> > -- >> > PHP General Mailing List (http://www.php.net/) >> > To unsubscribe, visit: http://www.php.net/unsub.php >> > >> > >> >> >> -- >> Some people have a "gift" link here. >> Know what I want? >> I want you to buy a CD from some indie artist. >> http://cdbaby.com/browse/from/lynch >> Yeah, I get a buck. So? >> >> -- >> PHP General Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Some people have a "gift" link here. Know what I want? I want you to buy a CD from some indie artist. http://cdbaby.com/browse/from/lynch Yeah, I get a buck. So? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php