我有以下SQL查询,我想在其中提取每个项目的计数及其名称,例如我的SQL数据库中的“ FillingOption”。
我不断收到以下错误消息
Msg 1013,第16级,状态1,第13行FROM子句中的对象“ school_to_classroom_teacher”和“ school_to_classroom_teacher”具有相同的公开名称。使用相关名称来区分它们。
查询如下:
SELECT
COUNT(*) AS count,
Monday_Sandwich_Roll_Filling.FillingOption
FROM
#tempCustomer
INNER JOIN Monday_Sandwich_Roll_Filling
ON #tempCustomer.LunchMon=Monday_Sandwich_Roll_Filling.FillingOption
INNER JOIN school_to_classroom_teacher
ON #tempCustomer.teacherID= school_to_classroom_teacher.teacherID
INNER JOIN [teacherClassroom Table]
ON #tempCustomer.teacherID= [teacherClassroom Table].teacherID
inner join school_to_classroom_teacher
on [teacherClassroom Table].teacherID=school_to_classroom_teacher.teacherID
inner join SchoolTable
on SchoolTable.SchoolID
WHERE
(SchoolTable.mondayOn = 1)
AND school_to_classroom_teacher.schoolid = 1
AND([teacherClassroom Table].Available = 1)```
为凌乱的查询表示歉意,但不喜欢WHERE子句旁边的“ [SchoolTable.SchoolID”和查询的“ school_to_classroom_teacher”部分。
我尝试声明SchoolTable.SchoolID AS TEST
,但这不起作用。
任何人有任何想法。
所以您基本上想这样做(我删除了重复/多余的连接):
SELECT
COUNT(*) AS count,
Monday_Sandwich_Roll_Filling.FillingOption
FROM
#tempCustomer
INNER JOIN Monday_Sandwich_Roll_Filling
ON #tempCustomer.LunchMon=Monday_Sandwich_Roll_Filling.FillingOption
INNER JOIN school_to_classroom_teacher
ON #tempCustomer.teacherID= school_to_classroom_teacher.teacherID
INNER JOIN [teacherClassroom Table]
ON #tempCustomer.teacherID= [teacherClassroom Table].teacherID
and [teacherClassroom Table].teacherID=school_to_classroom_teacher.teacherID
inner join SchoolTable
on SchoolTable.SchoolID
WHERE
(SchoolTable.mondayOn = 1)
AND school_to_classroom_teacher.schoolid = 1
AND([teacherClassroom Table].Available = 1)
但是您在最后一次加入inner join SchoolTable
on SchoolTable.SchoolID
........时也缺少加入条件。>