Sebastian <[EMAIL PROTECTED]> wrote on 06/05/2005 02:23:45 AM: > I have two fields: topic | title
> topic does not always have data in it, so i want to select `title` when > `topic` is null.. > i thought i could do this (does not work): > IF(title IS NULL, topic, title) AS heading > Thanks. You can also use the COALESCE() function to get the _first_ non-null value from a list of values. To use your example (and extend it by one condition) assume for a moment that if title is also null you want the value 'n/a' to appear. This is simple two-field failover (with a null result if title is also null) exactly like the IF() and IFNULL() solutions already posted: SELECT COALESCE(topic, title) as heading from tablename; This has the final "default value", avoiding a null result completely: SELECT COALESCE(topic, title, 'n/a') as heading from tablename; It works like this: a) if topic is not null, return topic b) if topic is null and title is not, return title c) if both topic and title are null, return 'n/a' IF there were 16 fields,formulas, or values in its list, COALESCE() would have moved from term to term looking, checking all 16 items in turn, for the first non-null. If every term is null, COALESCE() returns a NULL. Shawn Green Database Administrator Unimin Corporation - Spruce Pine