tags:

views:

39

answers:

2

Is there an easy way to do both these queries in one:

$name = 'somename';

$id = mysql_result(mysql_query('SELECT id FROM table WHERE name = $name'));

$next_id = mysql_result(mysql_query('SELECT id FROM table WHERE id > $id ORDER BY id ASC LIMIT 1, 1'));

Thanks

A: 

Subquery to get the ID, then >= the selected ID, then limit 2

SELECT id FROM table WHERE id >= (SELECT id FROM table WHERE name = '$name') ORDER BY id ASC LIMIT 2
Alin Purcaru
Thanks, that's perfect... made a mistake my original query, meant to have LIMIT 0, 1. So SELECT id FROM table WHERE id >= (SELECT id FROM table WHERE name = '$name') ORDER BY id ASC LIMIT 0, 1 would work.
Leon
A: 

Did you try ?

$next_id = mysql_result(mysql_query('SELECT id FROM table WHERE id > (SELECT id FROM table WHERE name = $name LIMIT 1,1) ORDER BY id ASC LIMIT 1, 1));
Chouchenos