Я не знаю, как объединить мои атрибуты в один столбец для этого запроса - PullRequest
0 голосов
/ 05 декабря 2018

Мой запрос - создать список 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 ; 

Ответы [ 3 ]

0 голосов
/ 05 декабря 2018

Осталось только объединить имя и фамилию сотрудника в один столбец.Для этого 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 ; 
0 голосов
/ 05 декабря 2018
Синтаксис

Concat может помочь вам ..

Определение :

CONCAT возвращает char1, объединенный с char2.И 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 ; 
0 голосов
/ 05 декабря 2018

Обновление

Сначала я ответил на этот вопрос, не осознавая, что он нацелен на 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 ; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...