Thanks for the responses.  I got one earlier that did the trick.  I wanted
to try as hard as i could from altering the table, as i was already using
the Y value in other reports...and here is a great solution.

this may help someone else. so I wanted to post it.  I'll use it again, i'm

SELECT if( ENUM1 = 'y', 1, 0 ) + if( ENUM2 = 'Y', 1, 0 ) + if(ENUM3 = 'Y',
1, 0 ) + if(ENUM4 = 'Y', 1, 0 ) + if(ENUM5 = 'Y', 1, 0 ) AS NumHits,
{other values to select}

HAVING NumHits > 1

Thanks again Rick.

                    "John W. Holmes"                                                   
                    <holmes072000@ch       To:     <[EMAIL PROTECTED]>, 
<[EMAIL PROTECTED]>                 
          >             cc:                                         
                                           Subject:     RE: [PHP-DB] enum and bad 
                    10/01/2002 03:19                                                   
                    Please respond                                                     
                    to holmes072000                                                    

> I have five enum fields, all Y/N. There is now(last minute) a
> to
> report on all clients that said Y to more then one of the
questions(its a
> survey).  Had i known about this requirement, i could have made them
> and had a simple 1/0 option and summed the fields to check the
> select * from table where sum(ENUM1, ENUM2,ENUM3, ENUM4, ENUM5) > 1;
> something like that...
> anyone have an idea of how i could accomplish the same with Y/N or
> i
> modify the tables and change them to 1/0's  which is a doable option.

Well, you could fix your "bad planning" by just altering your table.

Create a new column, then use

UPDATE your_table SET new_column = 0 where old_column = 'N';

Set it to one for 'Y', drop the old column, rename the new column, and
your done. Well, you'd have to do it for five columns, but it would
"fix" it at least.

Or you could use something like this:

SELECT * FROM your_table WHERE
LENGTH(REPLACE(CONCAT(enum1,enum2,enum3,enum4,enum5),'N','')) > 1)

That'll join all the enums together, like 'YNYNN', replace all N with an
empty string, resulting in 'YY', and then make sure the length is more
than one, i.e. there are more than two 'Y' in the string.

Hope that helps.

---John Holmes...

PHP Database Mailing List (
To unsubscribe, visit:

PHP Database Mailing List (
To unsubscribe, visit:

Reply via email to