Mysql 关于SQL视图,我有些困惑
我有这些桌子:Mysql 关于SQL视图,我有些困惑,mysql,sql,view,count,phpmyadmin,Mysql,Sql,View,Count,Phpmyadmin,我有这些桌子: 分行(Bno、街道、地区、城市、Pcode、电话号码、传真号码) 员工(Sno、Fname、Lname、地址、电话号码、职位、性别、出生日期、工资、NIN、Bno) 物业租金(Pno、街道、地区、城市、Pcode、类型、房间、租金、Ono、Sno、Bno) 将创建一个视图BranchStats(Bno、NumStaff、NumProps),用于显示任何分支机构雇用的员工数量和财产句柄数量 CREATE VIEW BranchStats AS SELECT
(Bno、街道、地区、城市、Pcode、电话号码、传真号码)分行
(Sno、Fname、Lname、地址、电话号码、职位、性别、出生日期、工资、NIN、Bno)员工
(Pno、街道、地区、城市、Pcode、类型、房间、租金、Ono、Sno、Bno)物业租金
BranchStats
(Bno、NumStaff、NumProps
),用于显示任何分支机构雇用的员工数量和财产句柄数量
CREATE VIEW BranchStats
AS
SELECT
branch.Bno Bno,
Count (Distinct Staff.Bno) NumStaff,
Count (Distinct property_for_rent.Sno) NumProps
FROM
branch
JOIN
Staff ON Staff.Bno = branch.Bno
JOIN
property_for_rent ON property_for_rent.Sno = Staff.Sno
GROUP BY
branch.Bno
错误
您的SQL语法有错误;检查手册
对应于您的MySQL服务器版本,以便使用正确的语法
近'不同的职员。Bno)努姆斯塔夫,计数(不同
第4行的物业(租金.Sno)Num'
我的SQL语句中有错误吗?需要帮助MySQL(默认情况下)不允许在函数名和开头部分之间留空格。因此,请尝试删除这些空格:
CREATE VIEW BranchStats AS
SELECT branch.Bno,
Count(Distinct Staff.Bno) as NumStaff,
Count(Distinct property_for_rent.Sno) as NumProps
FROM branch JOIN
Staff
ON Staff.Bno = branch.Bno JOIN
property_for_rent
ON property_for_rent.Sno = Staff.Sno
GROUP BY branch.Bno;
下文对此进行了解释:
[…]解析器使用以下规则
默认情况下,用于区分其名称是否用作
函数调用或作为非表达式上下文中的标识符:
- 要将名称用作表达式中的函数调用,名称和以下“(“括号”)之间不得有空格 性格
- 相反,要将函数名用作标识符,它后面不能紧跟括号
COUNT
就是这样一个名称
我是一名学生,刚开始学习它是学习pal的第一步…实际实现代码/sql…如果它抛出错误,用谷歌搜索它…如果你仍然找不到它,那么在这里问一下…现在,你有什么错误吗?是的“您的SQL语法有错误;请检查与您的MySQL服务器版本相对应的手册,以了解在第4行“Distinct staff.Bno)NumStaff,Count(Distinct property_for_rent.Sno)Num”附近使用的正确语法“我试图模仿另一个stackoverflow答案中的sql,但失败了什么数据库系统,哪个版本??SQL只是结构化查询语言-一种被许多数据库系统使用的语言,但不是一种数据库产品。。。像这样的特性通常是特定于供应商的,所以我们确实需要知道您使用的是什么数据库系统。。。。(请相应地更新标签)