我的查询是生成一个Employees
列表,这些列表与cinema
一起为cinema number 07
工作,并将cinema name
包括在结果中。将结果排列在ascending order by employee surname
中。 Name
属性应合并到单个输出列中,并具有合理的标题。
我已经回答了大部分查询,但是我坚持了最后一部分。有人可以帮我这个忙吗?
SELECT Employee.Cinema_No, Cinema.Cinema_Name, Employee.First_Name,
Employee.Surname
FROM Employee
INNER JOIN Cinema ON Employee.Cinema_No = Cinema.Cinema_No
WHERE Employee.Cinema_No = 7
ORDER BY Surname ASC ;
答案 0 :(得分:3)
剩下要做的就是将雇员的名字和姓氏连接到一个栏中。为此,Oracle提供了||
运算符(字符串串联)。然后,您可以使用别名AS
使用别名来选择合适的列名。
查询:
SELECT
Employee.Cinema_No,
Cinema.Cinema_Name,
Employee.First_Name || ' ' || Employee.Surname AS Employee_Full_Name
FROM Employee
INNER JOIN Cinema ON Employee.Cinema_No = Cinema.Cinema_No
WHERE Employee.Cinema_No = 7
ORDER BY Surname ASC ;
答案 1 :(得分:0)
我最初回答这个问题时没有意识到它针对的是Oracle。因此,如果您碰巧需要对MS SQL Server进行类似的查询,则可以在下面找到原始答案...
我认为您的查询很好。您只需要像下面这样组合员工的姓名...
SELECT Employee.Cinema_No,
Cinema.Cinema_Name,
Employee.First_Name + " " + Employee.Surname as FullName
FROM Employee
INNER JOIN Cinema ON Employee.Cinema_No = Cinema.Cinema_No
WHERE Employee.Cinema_No = 7
ORDER BY Surname ASC ;
答案 2 :(得分:0)
Concat
语法可以为您提供帮助。
定义:
CONCAT返回与char2串联的char1。 char1和char2都可以 可以是任何数据类型CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB或 NCLOB。
SELECT
Employee.Cinema_No,
Cinema.Cinema_Name,
Concat(Employee.First_Name, ' ', Employee.Surname) as Named
FROM
Employee
INNER JOIN Cinema ON Employee.Cinema_No = Cinema.Cinema_No
WHERE
Employee.Cinema_No = 7
ORDER BY
Surname ASC ;