Mysql 如何从三个表中获取特定记录

Mysql 如何从三个表中获取特定记录,mysql,phpmyadmin,Mysql,Phpmyadmin,表名称::反馈\u主控 字段1。feed_id 2。第三卷。批次号4。教研组id(学期id)5.f\U id(教员id)6。子单元id(受试者id)7。评论8.b_id 表名::主题\主 田地 子单元id(受试者id) 子单元名称(主题名称0 f_id(教员id) 表名::教员大学硕士 田地 f_id(教员id) f_姓名(教员姓名) l_姓名(教员姓名) b_id 这是三张表。现在我想从这三张表中获取详细信息 我希望输出为 f_姓名(教员姓名)、子_姓名(学科名称)以及我给出(教员id)f_i

表名称::反馈\u主控

字段1。feed_id 2。第三卷。批次号4。教研组id(学期id)5.f\U id(教员id)6。子单元id(受试者id)7。评论8.b_id

表名::主题\主

田地

  • 子单元id(受试者id)
  • 子单元名称(主题名称0
  • f_id(教员id)
  • 表名::教员大学硕士

    田地

  • f_id(教员id)
  • f_姓名(教员姓名)
  • l_姓名(教员姓名)
  • b_id
  • 这是三张表。现在我想从这三张表中获取详细信息

    我希望输出为

    f_姓名(教员姓名)、子_姓名(学科名称)以及我给出(教员id)f_id时的备注(备注)

    有人能帮我解决这个问题吗。

    使用对象

    Select T1.f_name, T2.sub_name, T3.remark from faculty_master as T1, 
    subject_master as T2, Feedback_master as T3 where T1.f_id = 'your faculty_id'
    and T1.f_id = T3.f_id and T2.sub_id = T3.sub_id
    
    我想是吧

    SELECT f_name, sub_name, remark 
    FROM faculty_master
    LEFT JOIN subject_master USING(f_id)
    LEFT JOIN Feedback_master USING(f_id)
    WHERE f_id = the_id_you_want
    
    选择fm.f_名称、sm.sub_名称、教员/硕士fm左侧的备注 在fm.f\u id=sm.f\u id上加入sub\u master sm 左连接反馈\u主fbm打开 sm.sub_id=fbm.sub_id 其中fm.f_id=123


    您可以分阶段建立查询。首先,您需要的是一系列反馈意见,因此请从以下简单内容开始:

    这列出了来自世界各地的所有反馈,但您希望将其限制为仅针对特定教员的反馈,因此让我们添加一个:

    现在我们得到了正确的记录列表,但字段列表是错误的。您需要的是教员姓名和科目名称,它们不在反馈主表中;科目主表和教员主表是链接的,假设每个备注都有一个科目ID和教员ID,我们可以使用一个简单的链接表:

    SELECT * FROM Feedback_master
      INNER JOIN subject_master ON Feedback_master.sub_id = subject_master.sub_id
      INNER JOIN faculty_master ON Feedback_master.f_id = faculty_master.f_id
      WHERE Feedback_master.f_id = @f_id
    
    现在它从所有三个表中提取所有字段;这包括我们需要的所有字段,因此我们现在可以在Select子句中简单地命名它们:

    SELECT
      faculty_master.f_name, subject_master.sub_name, Feeback_master.remark
    FROM Feedback_master
      INNER JOIN subject_master ON Feedback_master.sub_id = subject_master.sub_id
      INNER JOIN faculty_master ON Feedback_master.f_id = faculty_master.f_id
    WHERE Feedback_master.f_id = @f_id
    
    SELECT * FROM Feedback_master
      INNER JOIN subject_master ON Feedback_master.sub_id = subject_master.sub_id
      INNER JOIN faculty_master ON Feedback_master.f_id = faculty_master.f_id
      WHERE Feedback_master.f_id = @f_id
    
    SELECT
      faculty_master.f_name, subject_master.sub_name, Feeback_master.remark
    FROM Feedback_master
      INNER JOIN subject_master ON Feedback_master.sub_id = subject_master.sub_id
      INNER JOIN faculty_master ON Feedback_master.f_id = faculty_master.f_id
    WHERE Feedback_master.f_id = @f_id