Yii2中的SQL查询帮助

阿斯拉·达斯孔

我要加入三个表。(用户,user_module,模块)。从用户表,我想获取Fname字段。从user_module表中,我想为学生分配模块号。我想从模块表中获取模块字段。(模块名称)。

用户表

ID Fname
1 Asela

user_module表

studentID moduleID
     1 1

模块表

ID模块
1 AST

我的代码从表中获取结果

 $assignModule = new SqlDataProvider([
                                        'sql'=> "SELECT Fname AS Student_name, A3.moduleID As Module_no, A2.module As Module_name FROM users A1"
                                                ."LEFT JOIN user_module A3 ON A3.studentID = A1.id"
                                                ."LEFT JOIN module A2 ON A3.moduleID = A2.id "
                                                . "WHERE A2.id IN (SELECT studentID FROM user_module)",

错误SQLSTATE [42S22]:找不到列:1054'on子句'中的未知列'A1.idLEFT'

猎犬

试试这个查询

$sql =    "SELECT A1.Fname As Student_name,
                                A3.moduleID As Module_no,
                                A2.module As Module_name,

                                FROM 
                                users A1

                                LEFT OUTER JOIN user_module A3 ON A1.id=A3.studentID
                                LEFT OUTER JOIN module A2 ON A3.moduleID=A2.id

                                WHERE id IN (SELECT studentID FROM user_module)";

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章