从具有三个外键的表到一个表的SELECT

时间:2012-03-03 18:24:20

标签: mysql sql database oracle select

我必须制作一个SQL语句,它从三个表中获取值,一个表是用户其他有意见的表,第三个是带有主题的表,其中有四个外键 - 其中一个指向意见记录和作为用户记录的单独密钥休息。

如何从此表中选择包含主题名称,意见值,主题专业人士和主题意见人的记录?

1 个答案:

答案 0 :(得分:4)

好的,这是星期六晚上,我感觉很柔和,没有数据模型就可以解决这个问题。

您已向我们提供了三个查找表(主题,意见,用户)的名称,但未提供实际结构和列。所以我在做一些猜测。

select subjects.name as subject_name
       , opinions.value
       , o_users.name as opinion_guy
       , p_users.name as professor
from  opinions 
      join subjects on ( opinions.subject_id = subjects.id)
      join users as o_users on ( o_users.id = opinions.opinion_guy_id)
      join users as p_users on ( p_users.id = subjects.professor_id)

/

我意识到这个查询几乎肯定不适合你的架构,但它应该给你一些线索。否则,请给我们表结构,主键和外键等。