C# MySQL 连接 3 个表

Posted

技术标签:

【中文标题】C# MySQL 连接 3 个表【英文标题】:C# MySQL joins 3 tables 【发布时间】:2013-04-21 20:31:00 【问题描述】:

我目前正在使用 C# 和 mysql (XAMPP)。我有 3 个表,如下所示:

tblILearnQuestion : IlearnQuestionId, Question

tblILearnAnswer : ILearnAnswerId, ILearnQuestionId, StudentId, dateSubmited

tblILearnMarks : ILearnMarkId, ILearnAnswerId, Comments, mark

我需要一个查询来获取以下数据:question, studentid , mark and comment。我已经尝试过了,但它不起作用:

SELECT * FROM tblIlearnQuestion 
INNER JOIN tblilearnanswer ON 
    tblilearnquestion.ilearnquestionid = tblilearnanswer.ilearnquestionid 
INNER JOIN ilearnmarks ON 
    tblilearnanswer.ilearnanswerid = tblilearnmarks.ilearnanswerid

它说有些列不存在,我已经检查过,我确实正确命名了这些列,因为它在我的数据库中。

【问题讨论】:

这可能是第三个表的名称,与您之前在问题中所说的不同,但如果不是,请发布确切的错误消息。 【参考方案1】:

您的语法与连接有点不同。这应该可以解决问题:

select * 
from tblIlearnQuestion 
  inner join tblilearnanswer on tblilearnquestion.ilearnquestionid = tblilearnanswer.ilearnquestionid 
  inner join tblilearnmarks on tblilearnmarks.ilearnanswerid = tblilearnanswer.ilearnanswerid

【讨论】:

【参考方案2】:

看起来您在第二个联接中的表名称错误。您写道,您的表名是 tblILearnMarks,但您在查询中使用了 ilearnmarks。如您所见,缺少 tbl 前缀。

【讨论】:

以上是关于C# MySQL 连接 3 个表的主要内容,如果未能解决你的问题,请参考以下文章

C#使用左右连接创建3个表的lambda表达式

如何优化这个 MySql 查询 - 连接 3 个表?

mysql中3个表的内连接

php操作Mysql 以及封装常用的函数 用外连接连接3个表的案例

PHP Codeigniter MySQL 查询 - 将 4 个表连接在一起,其中 3 个表使用每个表中的一列分组

mysql连接3个表与group by group by