Запрос двоит строки

1. PhoenixAOD 62 16.01.14 09:00 Сейчас в теме
Доброго времени суток всем читающим. Столкнулся с такой бедой, навоял запросик, что бы сравнить штатки между двумя организациями, но вот в чем проблема, он прогоням с задвоением, как можно решить эту беду?
ВЫБРАТЬ
	ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации.Владелец,
	ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации,
	ШтатноеРасписаниеОрганизаций.Должность,
	ШтатноеРасписаниеОрганизаций.Период,
	ШтатноеРасписаниеОрганизаций.КоличествоСтавок,
	ШтатноеРасписаниеОрганизаций.ГрафикРаботы,
	ШтатноеРасписаниеОрганизаций.ВидТарифнойСтавки
ПОМЕСТИТЬ таб1
ИЗ
	РегистрСведений.ШтатноеРасписаниеОрганизаций КАК ШтатноеРасписаниеОрганизаций
ГДЕ
	ШтатноеРасписаниеОрганизаций.Период МЕЖДУ &ДатаНачало И &ДатаКонец
	И ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации.Владелец = &Организация
;

 X 
ВЫБРАТЬ
	ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации.Владелец,
	ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации,
	ШтатноеРасписаниеОрганизаций.Должность,
	ШтатноеРасписаниеОрганизаций.Период,
	ШтатноеРасписаниеОрганизаций.КоличествоСтавок,
	ШтатноеРасписаниеОрганизаций.ГрафикРаботы,
	ШтатноеРасписаниеОрганизаций.ВидТарифнойСтавки
ПОМЕСТИТЬ таб2
ИЗ
	РегистрСведений.ШтатноеРасписаниеОрганизаций КАК ШтатноеРасписаниеОрганизаций
ГДЕ
	ШтатноеРасписаниеОрганизаций.Период МЕЖДУ &ДатаНачало И &ДатаКонец
	И ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации.Владелец = &Организация1
;

 X 
ВЫБРАТЬ
	таб1.ПодразделениеОрганизацииВладелец,
	таб1.ПодразделениеОрганизации,
	таб1.Должность,
	таб1.Период,
	таб1.КоличествоСтавок,
	таб1.ГрафикРаботы,
	таб1.ВидТарифнойСтавки,
	таб2.ПодразделениеОрганизацииВладелец КАК ПодразделениеОрганизацииВладелец1,
	таб2.ПодразделениеОрганизации КАК ПодразделениеОрганизации1,
	таб2.Должность КАК Должность1,
	таб2.Период КАК Период1,
	таб2.КоличествоСтавок КАК КоличествоСтавок1,
	таб2.ГрафикРаботы КАК ГрафикРаботы1,
	таб2.ВидТарифнойСтавки КАК ВидТарифнойСтавки1
ИЗ
	таб1 КАК таб1,
	таб2 КАК таб2
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Rothschild 16.01.14 09:08 Сейчас в теме
(1) PhoenixAOD,
укажи соединение для таблиц таб1 и таб2 по "ключевым" полям.

а так - у тебя получилось декартово произведение таблиц данных:
К каждой строчка из Таб1 скоприровась стролько раз,
сколько строк в Таб2 и дополнилась полями из Таб2.

вещь потециально опасная (если соединить две большие таблицы).
:)
6. adva 45 16.01.14 09:23 Сейчас в теме
вообще все поля измерения, должны быть в условии соедиенния таблиц, а то в (2) справедливо отметили, все со всем соединять, слишком большая таблица может выйти
3. PhoenixAOD 62 16.01.14 09:13 Сейчас в теме
ВНУТРЕННЕЕ СОЕДИНЕНИЕ таб2 КАК таб2
ПО таб1.ПодразделениеОрганизации = таб2.ПодразделениеОрганизации

пробовал вот так, для меня важно подразделение. но тогда таблица пустая выходит.
5. M.Flint 16.01.14 09:22 Сейчас в теме
(3) PhoenixAOD, У разных организаций всегда разные подразделения. Нужен другой ключ соединения.
7. Rothschild 16.01.14 09:24 Сейчас в теме
(3) PhoenixAOD,
нужно ПОЛНОЕ СОЕДИНЕНИЕ
поскольку тебе нужны все строки,
а не только те, что присутствуют в обоих таблицах
4. adva 45 16.01.14 09:21 Сейчас в теме
Там же периодический регистр, наверное лучше срезы делать. Если же не срезы, то Период тоже ключевое поле, по которому стоит соединять. А также должность

А соединение таблиц делать не внутренним, а полным
8. adva 45 16.01.14 09:24 Сейчас в теме
Точно, организации разные, соединяй лучше по Подразделение.Наименование
PhoenixAOD; +1 Ответить
9. PhoenixAOD 62 16.01.14 09:34 Сейчас в теме
По наименованию получилось, но задача состоит в том что бы показать, что в организации 1 например 3 подразделения и 15 должностей, а в организации 2, 7 подразделений и 90 должностей. Сравнении по подр.наименование количество строк уменьшилось с 900 до 250, но все равно чего то еще не хватате, период не подходит, потому что организации могут быть открыты в разые года, и следовательно штатки тоже с разными датами.
15. kirin_gg 16.01.14 09:52 Сейчас в теме
(9) PhoenixAOD, если на определенный период тогда
выборка 1
Объединить все
выборка 2
Объединить все
выборка 3

Затем группируешь столбики - организация
Строки - наименование подразделений, должности, сотрудник...

Получится:
Организация1 Организация2 Организация3
1 уровень Наименование подр
2 уровень Должность
....
10. PhoenixAOD 62 16.01.14 09:37 Сейчас в теме
и причем подразделения же могут тоже иметь разные наименования. в каждой конторе своя деятельность, сходится могу только некоторые, типо администрация или там торговый зал, а все остальное может отличаться.
11. adva 45 16.01.14 09:45 Сейчас в теме
Т.е. надо просто количество подразделений и должностей указать?
13. PhoenixAOD 62 16.01.14 09:48 Сейчас в теме
(11) adva, да, что бы можно было визуально увидеть, что в одной столько в другой столько, и какие должности.
администрация | администрация
ген дир | ген дир
гл бух |

торг зал | торг зал
1 | оператор
продавец | охрана
2
3
3


примерно так хотят видеть эту беду.
16. adva 45 16.01.14 09:54 Сейчас в теме
(13) лучше файлик ексель выложи, в каком виде надо, а то не понятно
12. adva 45 16.01.14 09:47 Сейчас в теме
Однозначно нужны срезы. Период из полей убирай

Если нужны просто количество подразделений и должностей, то бери КОЛИЧЕСТВО (РАЗЛИЧНЫЕ Подразделение) и тоже для должности
14. adva 45 16.01.14 09:51 Сейчас в теме
все остальные поля надо убрать, соединять таблицы по истина.
17. adva 45 16.01.14 09:57 Сейчас в теме
А если запрос для СКД, то лучше да, через ОБЪЕДИНИТЬ ВСЕ делать (только вместо подразделения выдавать его наименование), а затем Организацию вывести в группировку колонок
18. PhoenixAOD 62 16.01.14 10:04 Сейчас в теме
вот так примерно они хотят видеть.
Прикрепленные файлы:
тест.xlsx
21. Rothschild 16.01.14 10:13 Сейчас в теме
(18) PhoenixAOD,
выгрузи из запроса таблицы Таб1 и Таб2 в объекты "ТаблицаЗначений"
добавь в эти ТЗ колонку "НомеСтроки" - пронумеруй строки.

потом обратно в запросе - загрузи эти ТЗ во временные таблицы
после этого сделай ПОЛНОЕ СОЕДИНЕНИЕ по полю НомерСтроки
22. Rothschild 16.01.14 10:15 Сейчас в теме
(21)
тогда получишь примерно то, что нарисовал в файлике (18)
25. adva 45 16.01.14 10:30 Сейчас в теме
Можно сделать как в (22) написано, но небольшие доработки:

Сначала выгрести по обоих организациям наименования подразделений в третью таблицу, и затем с ней соединять обе таблицы (чтобы при нумерации строк наименования подразделений совпали.
23. PhoenixAOD 62 16.01.14 10:16 Сейчас в теме
(21) Rothschild, спасибо за подсказку попробую
19. M.Flint 16.01.14 10:08 Сейчас в теме
Конечно, лучше объединять. Если нет привязки к дате, то просто срезПоследних.
20. PhoenixAOD 62 16.01.14 10:11 Сейчас в теме
(19) M.Flint, в том то и дело, что хотят видеть именно за поределенный период, когда были созданы те или иные должности.
24. adva 45 16.01.14 10:28 Сейчас в теме
По моему таблица не очень рациональная, сложно по ней что либо сравнить, а также не понятно, как связывать между собой (раз даже должность гл буха в разных строках находится). Получается два разных не связанных отчета, если это разово, просто сделай его сначала для одной организации, затем по другой, и соедини между собой полученные таблицы чисто руками в екселе
26. PhoenixAOD 62 16.01.14 10:42 Сейчас в теме
(24) adva, если бы это было разово, то однозначно бы сдела в экселе, а эту беду кадровики хотят часто юзать. организаций много, и движение по штатке бешеные.
27. adva 45 16.01.14 15:01 Сейчас в теме
(26) в любом случае, с таким же успехом можно сделать таблицы друг под другом (т.к. между ними связи нет). Кстати, раз нет срезов, то будут показаны только те должности, по которым были изменения за период. В общем так и не понял я смысл отчета, надо именно изменения штаток за период отследить?
28. adva 45 16.01.14 15:07 Сейчас в теме
Кстати, СрезПоследних также показывает дату изменения должности (а если нужно именно дату создания должности, то так как по периоду наложен отбор, то дата создания может и не попасть в данный период)
29. PhoenixAOD 62 17.01.14 01:46 Сейчас в теме
(28) adva, да я сам не понимаю нафига им этот отчет? мне этот головнят ваще ни как не нужен! попробую через срез сделать может что и вытекет.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот