Я пытаюсь найти SQL-запрос, чтобы получить элементы с красной рамкой на диаграмме. Каков запрос, чтобы получить столбцы в красной рамке?

Я пытаюсь найти SQL-запрос, чтобы получить элементы с красной рамкой на диаграмме. Каков запрос, чтобы получить столбцы в красной рамке?

Я пытался выполнить sql-запрос для столбцов в красном поле, любая помощь будет полезна.

Я попробовал этот запрос:

SELECT

Employees.LastName,

Employees.FirstName,

Region.RegionDescription

FROM

    (
    
        (
    
            (Employees 
    
                LEFT JOIN
    
                EmployeeTerritories 
    
                    ON Employees.EmployeeID = EmployeeTerritories.EmployeeID) 
    
        LEFT JOIN
    
        Territories 
    
            ON EmployeeTerritories.EmployeeID = Territories.TerritoryID) 
    
    LEFT JOIN
    
      Region 
    
        ON Territories.RegionID = Region.RegionID
    
    ); 

Пожалуйста, поделитесь более подробной информацией, такой как структура таблицы, примеры входных данных, ожидаемый результат и ваши попытки решить проблему.

Nico Haase 22.03.2022 08:34

К сожалению, это вся информация, которую мне предоставили и сказали, что мой запрос неверен. Хоть убей, я не могу понять, что еще это может быть.

Sleo 22.03.2022 08:38

Если у вас нет дополнительной информации, как вы можете проверить, работает ли какой-либо другой запрос?

Nico Haase 22.03.2022 08:38

Думал, что кто-то более опытный в SQL может помочь разобраться в запросе. Если сам вопрос неверен, то это может быть.

Sleo 22.03.2022 08:40
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
4
36
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Ваше присоединение к территориям было с идентификатором сотрудника (EmployeeTerritories.EmployeeID = Territories.TerritoryID), но должно быть EmployeeTerritories.TerritoryID = Territories.TerritoryID. И убраны все скобки, читается легче. Это работает для вас?

SELECT
  Employees.LastName,
  Employees.FirstName,
  Region.RegionDescription
FROM Employees 
LEFT JOIN EmployeeTerritories 
ON Employees.EmployeeID = EmployeeTerritories.EmployeeID
LEFT JOIN Territories 
ON EmployeeTerritories.TerritoryID = Territories.TerritoryID
LEFT JOIN Region 
ON Territories.RegionID = Region.RegionID

пожалуйста, проверьте второе соединение

ON EmployeeTerritories.EmployeeID = Territories.TerritoryID) должно быть ON EmployeeTerritories.TerritoryID = Territories.TerritoryID)

здесь изменен SQL

   SELECT
    Employees.LastName,    
    Employees.FirstName,    
    Region.RegionDescription    
    FROM    
        (
          (        
                (Employees         
                    LEFT JOIN
                    EmployeeTerritories         
                        ON Employees.EmployeeID = EmployeeTerritories.EmployeeID)         
            LEFT JOIN        
            Territories         
                ON EmployeeTerritories.TerritoryID = Territories.TerritoryID)         
        LEFT JOIN        
          Region         
            ON Territories.RegionID = Region.RegionID        
        ); 

Другие вопросы по теме

Похожие вопросы