2012-03-26 43 views
1

我很难找到这个答案,所以我希望你能帮助我。mySQL SELECT在另一个表中使用外键

我有两个表:

EVENT_LIST与列 'ID', '姓名', '日期' 和event_default有一列 'default_id',这是一个外键EVENT_LIST( 'ID')

想法是一次只能有一个事件是默认的,因此event_default只能有一个值(event_list中事件的ID)。

我需要一个SELECT语句来获取当前默认的事件的event_list数据。但我想在一个SELECT语句中这样做,我认为我可以这样做,而不是两个。如果有帮助,我正在使用PDO框架。

成功!谢谢。我最终使用:

​​
+0

如何在event_default表中选择默认事件?该表只包含一行吗? – grifos 2012-03-26 00:32:35

+0

查看[这个答案](http://stackoverflow.com/a/4956023/283366)其他想法来实现你想要做的事 – Phil 2012-03-26 00:37:36

回答

4

如果我没有得到要求的错误,这将做到这一点:

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

我假设表event_default只包含在其中指定默认事件一行。所以,加入event_list表后,你只会得到一行(如果idevent_list的PK)。

+0

“el.data”,“el”, “ef”,“el.id”?他们喜欢表名的标签/对象吗? – Vidarious 2012-03-26 00:35:47

+1

他们是别名。我没有编写'event_list.id',而是使用别名来表示这个字段,以便将该字段引用为'el.id'(它不是1) – 2012-03-26 00:37:01

+0

@MostyMostacho仅供参考,'data'似乎不是'event_list'列('id','name'和'date') – Phil 2012-03-26 00:38:56

相关问题