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"; 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"; 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... 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 Link to comment https://forums.phpfreaks.com/topic/108282-solved-once-twice/#findComment-555161 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.