【问题标题】:SELECT from table with three foregin keys to one table [closed]从具有三个外键的表中选择一个表[关闭]
【发布时间】:2012-03-21 20:43:30
【问题描述】:

我必须创建一个 SQL 语句,该语句从三个表中获取值,一个表是用户表,另一个是意见表,第三个表是主题表,其中四个外键是一个指向意见记录和rest 作为用户记录的单独键。

如何从该表中选择包含主题名称、意见值、主题教授和主题意见人的记录?

【问题讨论】:

  • 也许这只是我,但这个问题写得不够好,无法理解和回答。特别是,您能否提供有关您的架构的更多详细信息(每个表的实际列名......至少 PK 和 FK)
  • 请添加表格的定义

标签: mysql sql database oracle select


【解决方案1】:

好的,现在是星期六晚上,我感觉足够成熟,可以在没有数据模型的情况下解决这个问题。

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

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)

/

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

【讨论】:

    猜你喜欢
    • 2017-08-02
    • 1970-01-01
    • 2014-10-17
    • 2017-09-12
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多