0x00 Posted June 1, 2008 Share Posted June 1, 2008 for this test i create a table with: $s = "CREATE TABLE test_math (x int not null, y int not null )"; then add some data, say: $s = "INSERT INTO test_math VALUES (2, 1), (2, , (2, 3), (2, 5), (2, 7), (2, 4), (2, 6), (2, 2) "; heres my first query... $s = "SELECT x, y, POW(x,y) as z FROM test_math WHERE (POW(x,y) > 16) ORDER BY POW(x,y)"; i can refine it like this... $s = "SELECT x, y, POW(x,y) as z FROM test_math WHERE (POW(x,y) > 16) ORDER BY z"; but is there a way to just do the math once? say like this (no it doesnt work!) $s = "SELECT x, y, POW(x,y) as z FROM test_math WHERE (z > 16) ORDER BY z"; Quote Link to comment https://forums.phpfreaks.com/topic/108282-solved-once-twice/ Share on other sites More sharing options...
wildteen88 Posted June 1, 2008 Share Posted June 1, 2008 Aliases cannot be used in a WHERE clause. Use HAVING instead: $s = "SELECT x, y, POW(x,y) as z FROM test_math HAVING (z > 16) ORDER BY z"; Quote Link to comment https://forums.phpfreaks.com/topic/108282-solved-once-twice/#findComment-555145 Share on other sites More sharing options...
0x00 Posted June 1, 2008 Author Share Posted June 1, 2008 thats buzz, cheers... but i dont seem to be finding any good info in the mysql manual on the HAVING bit, not seen that before and would of thought youd of used it at the lowest element, even though i cant see how thatd be... once again cheers... Quote Link to comment https://forums.phpfreaks.com/topic/108282-solved-once-twice/#findComment-555155 Share on other sites More sharing options...
0x00 Posted June 1, 2008 Author Share Posted June 1, 2008 ok, i should read more, http://dev.mysql.com/doc/refman/5.0/en/select.html Quote Link to comment https://forums.phpfreaks.com/topic/108282-solved-once-twice/#findComment-555161 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.