Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL查询不工作,内部联接_Sql - Fatal编程技术网

SQL查询不工作,内部联接

SQL查询不工作,内部联接,sql,Sql,下面的SQL查询对我不起作用。我什么都试过了有人能帮忙吗 SELECT u.user_login, s.Email FROM users u INNER JOIN form f ON f.StudentID = s.StudentID INNER JOIN student s ON s.StudentID = s.StudentID WHERE f.form_id = 188 谢谢你 这是您的查询: SELECT u.user_login, s.Email FROM users

下面的SQL查询对我不起作用。我什么都试过了有人能帮忙吗

     SELECT u.user_login, s.Email FROM users u INNER JOIN form f ON f.StudentID = s.StudentID 
INNER JOIN student s ON s.StudentID = s.StudentID WHERE f.form_id = 188
谢谢你

这是您的查询:

 SELECT u.user_login, s.Email
 FROM users u INNER JOIN
      form f
      ON f.StudentID = s.StudentID INNER JOIN
-----------------------^
      student s
      ON s.StudentID = s.StudentID
 WHERE f.form_id = 188;
突出显示的表达式是语法错误,因为尚未定义表别名
s
from
语句按顺序从头到尾读取。也许你的意思是这样的:

 SELECT u.user_login, s.Email
 FROM users u INNER JOIN
      student s
      on s.UserId = u.UserId INNER JOIN
      form f
      ON f.StudentID = s.StudentID
 WHERE f.form_id = 188;

我只是猜测表之间的正确关系。

表中有哪些字段?从您的SQL查询中,我可以说您误用了join的ON子句:1)f.StudentID=s.StudentID:s表尚未引入;2) s.StudentID=s.StudentID:没有意义;3) 您的用户表未与联接表连接“不工作”不是有效的问题描述。什么不起作用-结果太多?没有足够的结果?意外的结果?或者仅仅是声明的语法错误?具体点。作为旁注,通常最好将
JOIN
的所有条件放入附带的
ON
子句中;对于其他一些类型的连接,有语义上的差异,但大多数人并不真正想要它。请注意,您的优化器可能正在以静默方式为您重新编写它(或者,如果您没有语法错误的话,也会这样做)?简单地重新格式化SQL查询会使问题更容易解决。在“form f”@JBrooks之前需要另一个“内部联接”。非常感谢。