2013-12-04 2 views
0

Я дал две таблицы: Employee и персоналSql вывода таблицы

|ID| Name |Surname|Postion|   |EmpID|ManID| 
----------------------------   ------------- 
|1 |Scrooge|McDuck |Manager|   |3 |1 | 
|2 |Daisy |Duck |Manager|   |7 |1 | 
|3 |Donald |Duck |Support|   |6 |2 | 
|4 |Minny |Mouse |Support|   |4 |2 | 
|5 |Mickey |Mouse |Support|   |2 |1 | 
|6 |Goofy |  |Support|   |1 |2 | 
|7 |Pluto |  |Support|   |5 |2 | 
|8 |Huey |Duck |Support| 
|9 |Dewey |Duck |Support| 
|10|Louie |Duck |Support| 

Я попросил SQL заявление, что будет производить следующий вывод

| Name |Surname|Postion|Manager Name|Manager Positon|   
------------------------    
|Donald |Duck |Support|Scrooge  |Manager   
|Pluto |  |Support|Scrooge  |Manager   
|Goofy |  |Support|Daisy  |Manager   
|Minny |Mouse |Support|Daisy  |Manager  
|Daisy |Duck |Support|Scrooge  |Manager   
|Scrooge|McDuck |Manager|Daisy  |Manager   
|Mickey |Mouse |Manager|Daisy  |Manager  

До сих пор я создал который отображает все, но не создает два новых столбца и не дает имен менеджеров.

CREATE VIEW example 
AS 
    SELECT * FROM Employee 
    JOIN StaffLink 
    ON Employee.ID = StaffLink.EmpID 

    SELECT 
GO 

Прослушайте меня.

+0

ли первичный выбор из '' ManID'', а затем каждый '' EmpId'', который соответствует, что '' ManID'' – nrathaus

+0

Там есть много способов приблизиться к этому, но для правильного тестирования, я думаю, вам нужно будет очистить ваши данные. У вас есть люди (персонажи?), Сообщающие друг другу. Дейзи докладывает Скруджу, и Скрог сообщает Дейзи. – Andrew

ответ

1

SQL:

SELECT Staff.EmpID, Manager.Name AS `Manager Name`, 
     Manager.Position AS `Manager Position`, 
     Employee.Name, Employee.Surname, Employee.Position 
FROM (Staff, Employee AS Manager, Employee) 
WHERE Manager.ID = Staff.ManID AND 
     Employee.ID = Staff.EmpID; 

Я считаю, что теперь установлен

+0

Это работает, кроме того, что изменяет имена сотрудников именам менеджеров, к сожалению – WhiteSpider

+0

Я считаю, что исправлена ​​ошибка – nrathaus

+1

Почему бы не использовать внутренний синтаксис соединения? –

Смежные вопросы