Skip to content
Advertisement

mySQL SELECT using a foreign key in another table

I’m having a hard time finding this answer so I’m hoping you guy can help me out.

I have two tables:

event_list with columns ‘id’, ‘name’, ‘date’ and event_default with one column ‘default_id’ which is a foreign key event_list(‘id’)

The idea is that only one event can be default at a time, hence why event_default can only have one value (the id of the event in event_list).

I need a SELECT statement that obtains the event_list data of the event that is currently default. But I want to do this in one SELECT statement which I think I can do rather then two. I am using the PDO framework if that helps.

Success! Thank you. I ended up using:

$this->connection->query('SELECT * FROM event_list el JOIN event_default ef ON el.id = ef.default_id');

Advertisement

Answer

If I don’t get the requirements wrong, this would do it:

select el.data from event_list el
join event_default ef on el.id = ef.default_id

I assume the table event_default only contains one row in which you specify the default event. So, after joining with the event_list table you’ll get only one row (if id is the PK of event_list).

User contributions licensed under: CC BY-SA
1 People found this is helpful
Advertisement