|
|
|
| есть список сотрудников и две компании А и В часть сотрудников работают в А , часть в А и в В. как вывести в один запрос всех. что-то я совсем зациклился не могу дальше двинутся помогите получить такую таблицу:
ФИО / период работы в А / период работы в В | |
|
| |
|
|
|
| Как вариант:
Select
ФИО,
ФункцияРасчетаПериодаРаботы(IDСотрудника, "A") As [период работы в А],
ФункцияРасчетаПериодаРаботы(IDСотрудника, "B") As [период работы в B]
From [список сотрудников]
|
| |
|
| |
|
|
|
| Объясните подробнее, какие у вас таблицы, какие в них поля и как связаны. | |
|
| |
|
11 Кб. |
|
| в файле приблизительно такая структура | |
|
| |
|
|
|
| Чисто для вашего примера:
TRANSFORM "с " + Str(Min([разрешения]![разр_с])) + " по " + Str(Max([разрешения]![разр_до])) AS Выражение1
SELECT Сотрудники.фамилия, Сотрудники.имя
FROM Сотрудники INNER JOIN (Комп INNER JOIN разрешения ON Комп.id_комп = разрешения.компания) ON Сотрудники.Id_сотр = разрешения.Id_сотр
GROUP BY Сотрудники.фамилия, Сотрудники.имя
PIVOT "Период работы в " & [Комп]![имя_комп];
|
Но если Лютиков поработает в А, затем в Б, снова в А и опять в Б - такой запрос не годится, т.к. вернет для каждой фирмы мин. и макс. даты. В этом случае нужно рисовать функцию, возвращающую строку с периодами для каждого сотрудника и фирмы, использовать ее в запросе с группировками по этим полям, а на его основе строить перекрестный запрос.
ЗЫ. Зачем в "Сотрудники" поле "Id_компании"? | |
|
| |
|
|
|
| Спасибо попробую!
Id_компании как-то само попало | |
|
| |
|
|
|
| Огромное спасибо, работает!! !
как еще сделать там же что б люди которые которые есть в таблице "сотрудники", но пока не работают ни в одной компани тоже были видны в запросе с прочерками например.
что-то не идут у меня запросы | |
|
| |