Combine query results from one table with the defaults from another

Posted by pulegium on Stack Overflow See other posts from Stack Overflow or by pulegium
Published on 2010-04-17T17:25:13Z Indexed on 2010/04/17 17:33 UTC
Read the original article Hit count: 305

Filed under:
|
|
|

This is a dumbed down version of the real table data, so may look bit silly.

Table 1 (users):

id INT
username TEXT
favourite_food TEXT
food_pref_id INT

Table 2 (food_preferences):

id INT
food_type TEXT

The logic is as follows:

Let's say I have this in my food preference table:

1, 'VEGETARIAN'

and this in the users table:

1, 'John', NULL, 1
2, 'Pete', 'Curry', 1

In which case John defaults to be a vegetarian, but Pete should show up as a person who enjoys curry.

Question, is there any way to combine the query into one select statement, so that it would get the default from the preferences table if the favourite_food column is NULL?

I can obviously do this in application logic, but would be nice just to offload this to SQL, if possible.

DB is SQLite3...

© Stack Overflow or respective owner

Related posts about sql

Related posts about sqlite