|
v8: Соединить в Запросе 2 временные таблицы [решено] | ☑ | ||
---|---|---|---|---|
0
neomarat
22.11.11
✎
13:37
|
Чет туплю.
Есть 2 временные таблицы: Даты: 01.01.11 02.01.11 03.01.11 Графики работы(с часами работы): Иванов 01.01.11 6 Петров 02.01.11 2 Как соединить так, чтобы получилось: 01.01.11 Иванов 6 02.01.11 Иванов 0 03.01.11 Иванов 0 01.01.11 Петров 0 02.01.11 Петров 2 03.01.11 Петров 0 |
|||
1
zavrik
22.11.11
✎
13:38
|
Полное соединение
|
|||
2
GROOVY
модератор
22.11.11
✎
13:42
|
Да чтож за день то такой...
Рекомендации: Как задать вопрос по теме 1С или советы новичку. Автор - Сергей Токарев (GrayT). Общие моменты Четко сформулируйте свой вопрос. Тема должна отражать суть сообщения. Не допускаются темы типа "Подскажите", "1С", "help", "есть вопрос", "не получается", темы большими буквами, заголовки с кучей восклицательных/вопросительных знаков. |
|||
3
neomarat
22.11.11
✎
13:43
|
(1) неа - не выходит.
делал так: ВЫБРАТЬ ГрафикРаботы.СОТРУДНИК, Даты.ДатаПериода, ГрафикРаботы.Дата ИЗ Даты КАК Даты ПОЛНОЕ СОЕДИНЕНИЕ ГрафикРаботы КАК ГрафикРаботы ПО Даты.ДатаПериода = ГрафикРаботы.Дата |
|||
4
shuhard
22.11.11
✎
13:44
|
(3) код верный,
записей будет 6, если даты приведены к началу дня |
|||
5
rs_trade
22.11.11
✎
13:45
|
слева должна быть таблица с каждой датой за период. к ней уже джойнить фамилии
|
|||
6
aleks-id
22.11.11
✎
13:47
|
(5) там полное соединение. так что монопенисуально. ответ в (4) - для всех дат использовать НАЧАЛОПЕРИОДА(НашаДата,"ДЕНЬ")
|
|||
7
aleks-id
22.11.11
✎
13:48
|
+(6) точнее использовать в условии связи.
|
|||
8
rs_trade
22.11.11
✎
13:48
|
(6) да я глюканул че то. подумал что за каждый день с пропусками надо
|
|||
9
ЧашкаЧая
22.11.11
✎
13:50
|
Вчера была тема "СКД", сегодня есть "Запрос", дальше будет "Форма" и "1С".
|
|||
10
Stim213
22.11.11
✎
13:51
|
(2) вторник..
|
|||
11
neomarat
22.11.11
✎
13:57
|
(4) даты приведены
получается так: 01.01.11 Иванов 6 02.01.11 Петров 2 03.01.11 |
|||
12
shuhard
22.11.11
✎
13:59
|
(11) сделай объединить все и выложи нам результат
|
|||
13
neomarat
22.11.11
✎
14:06
|
(12)
01.01.11 02.01.11 03.01.11 01.01.11 Иванов 6 02.01.11 Петров 2 |
|||
14
Axel2009
22.11.11
✎
14:07
|
чтобы выводилось по каждому сотруднику на каждый день, нужна таблица КАЖДОГО сотрудника на КАЖДЫЙ день. т.е. пересечение этих множеств.
|
|||
15
neomarat
22.11.11
✎
14:15
|
(14) это понятно.
Но как сделать? |
|||
16
Axel2009
22.11.11
✎
14:15
|
выбрать * из (выбрать дата из таблицадат) как таблицадат, (выбрать различные сотрудник из графикиработы) как графикиработы
|
|||
17
ssh2006
22.11.11
✎
14:24
|
ВЫБРАТЬ
"01.01.11" КАК ДатаПериода ПОМЕСТИТЬ Даты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "02.01.11" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "03.01.11" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ "Иванов" КАК Сотрудник, "01.01.11" КАК Дата, 6 КАК Часы ПОМЕСТИТЬ ГрафикРаботы ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Петров", "02.01.11", 2 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Даты.ДатаПериода КАК ДатаПериода, ГрафикРаботы.Сотрудник КАК Сотрудник, ВЫБОР КОГДА Даты.ДатаПериода = ГрафикРаботы.Дата ТОГДА ГрафикРаботы.Часы ИНАЧЕ 0 КОНЕЦ КАК Часы ИЗ ГрафикРаботы КАК ГрафикРаботы, Даты КАК Даты УПОРЯДОЧИТЬ ПО Сотрудник, ДатаПериода |
|||
18
Axel2009
22.11.11
✎
14:25
|
ВЫБРАТЬ
"Иванов" КАК Сотрудник, "01.01.11" КАК Дата, 6 КАК Часы ПОМЕСТИТЬ ГрафикРаботы ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Петров", "02.01.11", 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Петров", "01.01.11", 4 |
|||
19
neomarat
22.11.11
✎
14:55
|
Получилось спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |