我要加入三个表。(用户,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] 删除。
我来说两句