【问题标题】:Joining two tables and linking the third table连接两个表并链接第三个表
【发布时间】:2016-05-14 05:53:06
【问题描述】:

我想对以下两个表进行左连接并将其与另一个表链接

例如。 我有一张桌子叫students

SID (pk) 
fname 
lname 

分配表

aid (pk)
dur 
SID (fk) 
pid (fk) 

教授桌

pid (pk) 
pname 

我将从 first table 中获取 fname 和从 second table 中获取 pid left join 并显示来自 professor table 的相应 pname

所以我希望表格稍后看起来像这样

Fname Pname   

Raju  Jack 
RAm   Null  
jim   john  

谢谢

我已经写了这样的代码,但它不起作用

select students.fname, professor.pname
from student

LEFT JOIN professor ON professor.pid = assignment.pid

我想做左连接,所以我会得到 fname 和 pid,但我想使用 pid 来获取 pname 并显示 fname 和 pname

【问题讨论】:

  • 你有什么问题?我们不会为您编写它,但我们会帮助您修复代码。
  • 我已经离开加入了学生和作业表,所以现在我有
    fname pid
    raju 012
    ram null
    jim 025
    所以我现在想使用pid 并在professor 表中找到pname,只显示fname 和pname
  • 只需添加LEFT JOIN professor ON professor.pid = assignment.pid
  • 你的意思是这样吗?
    select students.fname, Professor.pname
    from student

    LEFT JOIN Professor ON Professor.pid = assignment.pid
  • 不要将代码放入 cmets,编辑问题以显示您尝试过的内容。如果它不起作用,请解释它有什么问题。

标签: mysql left-join


【解决方案1】:

如果你想要这样的输出,你可以做一件事。 您可以使用简单的连接,而不是使用左连接。 我已经检查过了,所以试试这个代码。

select s.fname, p.p_name 
from students s  
join assignment a on s.s_id = a.s_id 
join professor p on a.p_id = p.p_id

希望你能得到正确的结果。

【讨论】:

  • 如果您查看预期结果 (RAm Null),您会看到 OP 需要 LEFT JOIN。
  • 我希望创建一个作业和教授表的视图,其中包含aid、sid、pname 列并将它们组合为 assignment.pid=professor.pid 。后来我会在视图上使用学生表的左连接....你们怎么看?请说出你的想法....谢谢
【解决方案2】:

我希望创建一个作业和教授表的视图,其中包含aid、sid、pname 列并将它们组合为 assignment.pid=professor.pid。

稍后我会在视图上使用学生表的左连接 ....

你们怎么看?请说出你的想法....
谢谢

【讨论】:

    猜你喜欢
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多