需要mysql查询表中一列下的多个标志

i have a table name preferences under this there are multiple columns but i am interested in only two column that are user_preferences_name and user_preferences_status

Note plz in user_preferences_name column there are multiple flags like

user_preferences_name   user_preferences_status     phone_service_id 
    a                         1                          555
    b                         0                          456
    c                         0                          236
    d                         1                          122
    e                         1                          456
    f                         0                          777
    g                         0                          555
    h                         0                          888
    i                         1                          112
    .                         .                           .
    .                         .                           .
    .                         .                           .

there are many user_preferences_name i need only (a,b,f,q,w) and their respective user_preferences_status (1,1,0,1,0)

what i am doing basically is i am a creating a html form in which there are 5 different div i each div there are 2 radio buttons. for a:- if a user_preferences_status == 1 than enable radio button will be set other wise disable will be set same for 5 dive and radio buttons. what i try:

class Prefrances extends Zend_Db_Table{

function Get_User_Prefrences($phone_service_id){
    $DB = Zend_Db_Table_Abstract::getDefaultAdapter();
    $select = $DB->select()
         ->from('user_preferences' , array('user_preferences_name','user_preferences_value'))
         ->where('phone_service_id = ?', $phone_service_id)
         ->where('user_preferences_name = ?', 'a')
         ->where('user_preferences_name = ?', 'b')
         ->where('user_preferences_name = ?', 'f')
         ->where('user_preferences_name = ?', 'q')
         ->where('user_preferences_name = ?', 'w');
    return $select;
    }
}

result = no rows i think my logic is wrong can you plz guide me what i need here, general mysql query can also applicable i ll change it to zend

$select = $DB->select()
    ->from('user_preferences' , array('user_preferences_name','user_preferences_value'))
    ->where('phone_service_id = ?', $phone_service_id)
    ->where('user_preferences_name IN (?)', array('a', 'b', 'f', 'q', 'w'));

You create a contradiction like e.g. its raining and its not raining which never is true. In your case

SELECT user_preferences_name, user_preferences_value FROM user_preferences 
WHERE
    phone_service_id = $phoneserviceid
    AND user_preferences_name = 'a'
    AND user_preferences_name = 'b'
    AND user_preferences_name = 'f'
    AND user_preferences_name = 'q'
    AND user_preferences_name = 'w';

which NEVER can be true. You can instead use a subselect like garvey said or if it is an 'always' static subset you can add a column to identify this subset