我希望在给定学年和班级的不同表格中获取学生详细信息。 我使用的查询是:
SELECT
list_acad_years.acad_year,
a.fk_stu_id,
tbl_stu_details.stu_fname,
tbl_stu_details.stu_sname,
a.fk_section_id,
b.fk_class_id,
list_class.class_name,
list_sections.section_code
FROM
tbl_stu_details,
list_class,
list_sections,
list_acad_years
INNER JOIN
tbl_stu_class AS a
ON
(
list_acad_years.pk_acad_year_id = a.fk_year_id
)
INNER JOIN
tbl_stu_class AS b
ON
(list_class.pk_class_id = b.fk_class_id)
WHERE
(
list_acad_years.acad_year = '2019'
) AND(list_class.class_name = '10')
它显示以下错误:
#1054 - Unknown column 'list_class.pk_class_id' in 'on clause'
我的表的列是:
tbl_stu_class:
pk_stu_cls_id`, `fk_stu_id`, `fk_year_id`, `fk_class_id`, `fk_section_id`, `current_yr`
list_class:
`pk_class_id`, `class_name`, `class_code`, `fk_user_id`
list_sections:
pk_section_id`, `section_code`, `section_description`, `fk_user_id`
list_acad_years:
`pk_acad_year_id`, `acad_year`, `acad_year_code`, `fk_user_id`
tbl_stu_details:
`pk_stu_id`, `stu_id`, `username`, `stu_fname`, `stu_mname`, `stu_sname`
list_sections:
`pk_section_id`, `section_code`, `section_description`, `fk_user_id`
为什么列出现时会说未知的色谱柱? 如果你可以帮我改进这个查询,那将会很有帮助... 提前谢谢。
答案 0 :(得分:1)
您的问题是您使用的是旧式连接。期。更糟糕的是,你将它们与新的风格连接结合起来。
不能用逗号来理解表的名称。这限制了定义的范围。
您似乎知道如何正确编写<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.20/angular.min.js"></script>
<div ng-app="Netsafe" ng-controller="activityController">
<div ng-repeat="checkbox in checkboxData" class="form-check form-check-inline col-sm-4">
<label>
<input type="checkbox" ng-model="checkbox.checked"/>
{{checkbox.name}}
</label>
</div>
</div>
。因此,只需修复JOIN
子句,您的代码就可以正常工作。
答案 1 :(得分:0)
如果使用多个FROM表,则内部联接将始终连接到from语句中的最后一个表。
我刚刚改变了INNER JOIN
尝试这个让我知道它是否有效。
SELECT
list_acad_years.acad_year,
a.fk_stu_id,
tbl_stu_details.stu_fname,
tbl_stu_details.stu_sname,
a.fk_section_id,
b.fk_class_id,
list_class.class_name,
list_sections.section_code
FROM
tbl_stu_details,
list_class INNER JOIN
tbl_stu_class AS b
ON
(list_class.pk_class_id = b.fk_class_id),
list_sections,
list_acad_years
INNER JOIN
tbl_stu_class AS a
ON
(
list_acad_years.pk_acad_year_id = a.fk_year_id
)
WHERE
(
list_acad_years.acad_year = '2019'
) AND(list_class.class_name = '10')