Вход | Регистрация

  1  2  3  4   
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: 1С++

v7: 1С++
Я
   bananan
 
25.01.13 - 12:16
Всем добрый день, извиняюсь. что новую ветку написал.. но вчеращняя у меня что-то глючит..
Так вот сейчас текст запроса такой:
|SELECT    Сотр.Descr AS Наименование
       |        ,Сотр.Code AS Код   
       |         ,$Сотр.Фирма AS [Фирма $Справочник.Фирмы]
       |         ,$Сотр.ДатаУвольнения AS ДатаУвольнения 
       |         ,$Сотр.ДатаПриема AS ДатаПриема    
       |         ,$Сотр.ДатаРождения AS ДатаРождения
       |         ,$Сотр.ПропискаАдрес AS ПропискаАдрес 
       |         ,$Сотр.ФактАдрес AS ФактАдрес         
       |         ,$Сотр.Пол as [Стать $Перечисление.Пол]
       |         ,$Сотр.Образование AS [Образование $Перечисление.Образование]
       |         ,$Сотр.СемейноеПоложение AS [СемейноеПоложение $Перечисление.СемейноеПоложение]
       |         ,$Сотр.ИНН AS ИНН 
       |         ,$Сотр.ДокВид AS [ДокВид $Перечисление.ВидыДокументов]
       |         ,$Сотр.ДокСерия AS ДокСерия 
       |         ,$Сотр.ДокНомер AS ДокНомер
       |         ,$Сотр.ДокКемВыдан AS ДокКемВыдан
       |         ,$Сотр.ДокКогдаВыдан AS ДокКогдаВыдан
       |        ,SUM(Внутренний.Став) as Ставка
       |FROM     
       |(
       |  SELECT
       |     $ПоследнееЗначение.Сотрудники.Ставка(Сотр.ID, :ДатаАктуальности) Став
       |     ,$ПоследнееЗначение.Сотрудники.КвоЛьгот(Сотр.ID, :ДатаАктуальности) КвоЛьгот
       |     ,$ПоследнееЗначение.Сотрудники.Тариф(Сотр.ID, :ДатаАктуальности) Тариф
       |     ,$ПоследнееЗначение.Сотрудники.Пенсионер(Сотр.ID, :ДатаАктуальности) Пенсионер
       |     ,$ПоследнееЗначение.Сотрудники.Инвалид(Сотр.ID, :ДатаАктуальности) Инвалид
       |     ,$ПоследнееЗначение.Сотрудники.МестоРаботы(Сотр.ID, :ДатаАктуальности) Должность
       |  FROM
       |    $Справочник.Сотрудники Сотр
       |  WHERE
       |     Сотр.ID IN (SELECT Сотрв.Code AS КодВ FROM $Справочник.Сотрудники Сотрв)
       |                
       |    AND $Сотр.ДатаПриема > :Дат1 
       |    AND $Сотр.ДатаПриема <= :ДатаАктуальности 
       |    AND  ($Сотр.ДатаУвольнения = '01.01.1753' or  $Сотр.ДатаУвольнения>= :ДатаАктуальности )
       |) as Внутренний";
Выдает ошибку:
 The column prefix 'Сотр' does not match with a table name or alias name used in the query.
У меня альяс Сотр объявлен в  
FROM
   $Справочник.Сотрудники Сотр
А геде его нужно объявить?
 
 
   bananan
 
201 - 25.01.13 - 16:09
+(199) еще подзапрос писать7
   bananan
 
202 - 25.01.13 - 16:09
(220) Твои ответы лаконичны и, ГЛАВНОЕ, полезные
   Mikeware
 
203 - 25.01.13 - 16:10
(201) прочитай про типизацию результатов запроса...
   bananan
 
204 - 25.01.13 - 16:11
(203) Где?
   Mikeware
 
205 - 25.01.13 - 16:13
(204) в документации на 1с++
   Ёпрст
 
206 - 25.01.13 - 16:14
(204) в хелпе!
   Ёпрст
 
207 - 25.01.13 - 16:14
   Mikeware
 
208 - 25.01.13 - 16:16
   bananan
 
209 - 25.01.13 - 16:20
(207) На сколько  понял мне надо ЗначениеВСтрокуБД?
И гед и как зедсь применить ЗначениеВСтрокуБД?       $ПоследнееЗначение.Сотрудники.МестоРаботы(Сотр.ID, :ДатаАктуальности) AS Должность
   Ёпрст
 
210 - 25.01.13 - 16:21
(209) нет
 
 Рекламное место пустует
   Mikeware
 
211 - 25.01.13 - 16:23
(209) ты выдающийся...
я таких в мизде и не помню почти... только один был - какойто павлик из ссык-втык-вкара...
   bananan
 
212 - 25.01.13 - 16:24
запутался я совсем, а типизация здесь до боли проста:
|       ,$ПоследнееЗначение.Сотрудники.МестоРаботы(Сотр.ID, :ДатаАктуальности) AS [Должность  $Справочник.Подразделения]
   Mikeware
 
213 - 25.01.13 - 16:25
(212) о чем тебе и говорят... стоит всего лишь почитать документацию....
   bananan
 
214 - 25.01.13 - 16:31
(212) И с моим запросом дока сильно поможет? или Ицик здесь лучше?
   Ёпрст
 
215 - 25.01.13 - 16:36
всё поможет
   Ёпрст
 
216 - 25.01.13 - 16:36
если ум приложить
   sapphire
 
217 - 25.01.13 - 16:38
(214) Еще раз:
Дока по 1С++ дает только ТРАНСЛЯЦИЮ имен и некоторых конструкций из метаСКЛ в текст SQL.

Сама же текст запроса состоит из совего рода указаний для 1С++ вот эту байду мне назови так, а эту так.

В итоге, после обработки текста получается запрос SQL....

И получается, что на метаСКЛ ты пишешь запрос SQL....

Если имя задано неверно, SQL скажет, что ты "недума" и что-то не так, если синтаксис, как с GROUP BY... Короче одно без другого безидейно :) в 1С++
   trad
 
218 - 25.01.13 - 16:38
(216) я так понимаю (186) не получилось? или забил?
   Ёпрст
 
219 - 25.01.13 - 16:47
(218) конечно забил, но получить можно :)
   Ёпрст
 
220 - 25.01.13 - 16:47
соединением с подзапросом
   bananan
 
221 - 25.01.13 - 16:47
ОП, я только сейчас сообразил. Совсем вроде не так надо данный запрос писать, потому что мне надо просуммировать ставки для каждой из групп в справочнике сотрудники...
А как в 1С++ определить что это группа?
   Ёпрст
 
222 - 25.01.13 - 16:48
надо бы план выполнения поглядеть, как он вложенные обрабатывает..
   Ёпрст
 
223 - 25.01.13 - 16:49
   bananan
 
224 - 25.01.13 - 16:51
(221) Спасибо. Читаю
   trad
 
225 - 25.01.13 - 16:55
(220) ну можно и с подзапросом соединит, можно и корреляционный в селект лист вставить.
Но вроде говорили про вложенное vs каскадное соединение
   Ёпрст
 
226 - 25.01.13 - 16:56
(225) Ну, я то не говорил, тока слушал и смотрел :)
   bananan
 
227 - 25.01.13 - 16:57
|ISFOLDER = 1 значит группа...
А теперь мне для каждой группы надо просумировать к-во ставок.
Как это сделать?
   Ёпрст
 
228 - 25.01.13 - 16:58
Хотя и в линейном тоже скорее всего можно, надо подумать...
   bananan
 
229 - 25.01.13 - 17:15
хорошо, я все-таки еще не до конц понял с именами
написал такой запрос:
      |           SELECT Сотр.Ставка
    |            FROM $Справочник.Сотрудники AS Сотр  
    |             WHERE ISFOLDER <> 1 /* ISFOLDER=1 это группа, иначе не группа (а, запись в группе, т.е не группа <> 1 */
 
Выдает ошибку:
 Invalid column name 'Ставка'
   rbserg
 
230 - 25.01.13 - 17:17
(229) Комментарии в MS SQL не /* коммент*/,
а 
|           SELECT Сотр.Ставка
|            FROM $Справочник.Сотрудники AS Сотр  
 
|             WHERE ISFOLDER <> 1 -- Это правильный коммент читай букварь блин жеж!!!
   Mikeware
 
231 - 25.01.13 - 17:17
нет _в_базе_ в таблице поля с именем "Ставка"
   rbserg
 
232 - 25.01.13 - 17:18
Короче комент в MS SQL начинается с "--"
   Ёпрст
 
233 - 25.01.13 - 17:18
(229) ставка - периодический реквизит, она хранится в 1sconst, её нет физически в табличке $Справочник.Сотрудники.
Ну сколько можно ?
 
 
   rbserg
 
234 - 25.01.13 - 17:19
(233) > Ну сколько можно ?
+1
Автор, дуй чтить мануалы. Быстро!
   bananan
 
235 - 25.01.13 - 17:19
(231) Да, блин, я понял такой инглиш, но поле Ставка есть в справочнике Сотрудники. Понятно что я к нему не правильно обращаюсь..
А как правильно?
   Ёпрст
 
236 - 25.01.13 - 17:20
(232)
/* а это батенька,
многострочный комментарий в скуле

и аутор, тут первый раз не при чем
*/
   Wobland
 
237 - 25.01.13 - 17:20
новую ветку пора. про периодические реквизиты.
(235) есть у тебя поле вида sp3145, но не в случае с периодическими
   bananan
 
238 - 25.01.13 - 17:20
(233) Спасибо, мануалы я читаю, просто голова уже кругом идет - забыл что ставка - переодический реквизит
   Ёпрст
 
239 - 25.01.13 - 17:20
(235) смотри свой запрос в (0), вспоминай при ПоследнееЗначение
   Mikeware
 
240 - 25.01.13 - 17:21
(237) да, собственно, и периодика тут ни при чем...
   rbserg
 
241 - 25.01.13 - 17:23
(236) и правда. 4 года со скулем вожусь не разу не воспользовался. бывает же..
   bananan
 
242 - 25.01.13 - 17:23
(239) $ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности) Став
   Ёпрст
 
243 - 25.01.13 - 17:26
(241) ну, в доках же по скулю сплошь и рядом, ты просто не замечал, что они есть :)
   bananan
 
244 - 25.01.13 - 17:27
Написал так (коменты для себя ставил):
|SELECT  
    |         Сотр.Descr AS Наименование
    |         ,$Сотр.ДатаРождения
    |         ,$ПоследнееЗначение.Сотрудники.КвоЛьгот(Сотр.ID, :ДатаАктуальности) КвоЛьгот
    |          ,$ПоследнееЗначение.Сотрудники.Тариф(Сотр.ID, :ДатаАктуальности) Тариф
    |          ,$ПоследнееЗначение.Сотрудники.Пенсионер(Сотр.ID, :ДатаАктуальности) Пенсионер
    |         ,$ПоследнееЗначение.Сотрудники.Инвалид(Сотр.ID, :ДатаАктуальности) Инвалид
    |        ,$ПоследнееЗначение.Сотрудники.МестоРаботы(Сотр.ID, :ДатаАктуальности) AS [Должность  $Справочник.Подразделения] 
    |         ,SUM(Подзапрос.Став) as Ставка
    | /* Подзапрос */
    |        FROM   
    |           SELECT $ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности) Став
    |            FROM $Справочник.Сотрудники AS Сот0  
    |             WHERE ISFOLDER <> 1 /* ISFOLDER=1 это группа, иначе не группа (а, запись в группе, т.е не группа <> 1 */
    |                
    | /* Подзапрос */
    |FROM     
    |   $Справочник.Сотрудники AS Сотр
 
   |";
выдает ошибку Incorrect syntax near the keyword 'SELECT'
Ясно что ошибка в SELECT подзапроса...
Но где здесь ошибка в SELECT?
   Ёпрст
 
245 - 25.01.13 - 17:29
(244) подзапрос в скобочках
   Ёпрст
 
246 - 25.01.13 - 17:30
и следующий фром не ясно к чему..
   Wobland
 
247 - 25.01.13 - 17:30
фром (селект)
   Wobland
 
248 - 25.01.13 - 17:30
а автор, похоже, исправляется. не зря я в него верил ;)
хоть вопросы толково ставить начал ;)
   bananan
 
249 - 25.01.13 - 17:32
(246)(247) да я когда писал меня это мучило, а где мне объявить альяс длс Стр?
 
 Рекламное место пустует
   bananan
 
250 - 25.01.13 - 17:32
(248) Спасимбо
   rbserg
 
251 - 25.01.13 - 17:34
(244) Давай полный запрос.
   bananan
 
252 - 25.01.13 - 17:35
|SELECT   
    |         Сотр.Descr AS Наименование
    |         ,$Сотр.ДатаРождения
    |         ,$ПоследнееЗначение.Сотрудники.КвоЛьгот(Сотр.ID, :ДатаАктуальности) КвоЛьгот
    |          ,$ПоследнееЗначение.Сотрудники.Тариф(Сотр.ID, :ДатаАктуальности) Тариф
    |          ,$ПоследнееЗначение.Сотрудники.Пенсионер(Сотр.ID, :ДатаАктуальности) Пенсионер
    |         ,$ПоследнееЗначение.Сотрудники.Инвалид(Сотр.ID, :ДатаАктуальности) Инвалид
    |        ,$ПоследнееЗначение.Сотрудники.МестоРаботы(Сотр.ID, :ДатаАктуальности) AS [Должность  $Справочник.Подразделения] 
    |         ,SUM(Подзапрос.Став) as Ставка
    | /* Подзапрос */
    |        FROM   
    |(           SELECT $ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности) Став
    |            FROM $Справочник.Сотрудники AS Сотр0  
    |             WHERE ISFOLDER <> 1 /* ISFOLDER=1 это группа, иначе не группа (а, запись в группе, т.е не группа <> 1 */
    |)                
    | /* Подзапрос */
    |FROM     
    |   $Справочник.Сотрудники AS Сотр
    |";
   Wobland
 
253 - 25.01.13 - 17:37
(249) фром (селект) ас Стр? запрос не глядел
   bananan
 
254 - 25.01.13 - 17:38
(253) ничего не понял :(
   bananan
 
255 - 25.01.13 - 17:43
Где альяс Сотр объявлять???
   monsterZE
 
256 - 25.01.13 - 17:47
ты выбираешь и выборки.. вот к ней и обращайся
   Wobland
 
257 - 25.01.13 - 17:49
|SELECT   
    |         Сотр.Descr AS Наименование
    |        ,$ПоследнееЗначение.Сотрудники.МестоРаботы(Сотр.ID, :ДатаАктуальности) AS [Должность  $Справочник.Подразделения] 
    |         ,SUM(Подзапрос.Став) as Ставка
    |        FROM   
    |(           SELECT $ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности) Став
    |            FROM $Справочник.Сотрудники AS Сотр0  
    |             WHERE ISFOLDER <> 1) as Подзапрос
inner join
    |   $Справочник.Сотрудники AS Сотр
on Подзапрос.id=Сотр.id

это всё на коленке, не вникая в смысл
   monsterZE
 
258 - 25.01.13 - 17:49
Для IsFolder: 2 – Элемент, 1 – Группа. Это сделано для того чтобы упорядочивание по этому полю сначала выдавало группы, а затем элементы.
   Wobland
 
259 - 25.01.13 - 17:51
(257) group by ещё, конечно
   rbserg
 
260 - 25.01.13 - 17:52
а нафиг ему там ,SUM(Подзапрос.Став)??
   rbserg
 
261 - 25.01.13 - 17:53
Автор изложи задачу словами.
   bananan
 
262 - 25.01.13 - 17:56
(261) Сдовами...
Надо показать инфу для отдела кадров, в том числе и количество ставок у каждого подразделения
   bananan
 
263 - 25.01.13 - 17:57
(257) Спасибо, сейчас так буду пробывать
   Wobland
 
264 - 25.01.13 - 18:04
(262) если это задача, то "надо почитать документацию" - ответ
   bananan
 
265 - 25.01.13 - 18:05
Теперь текст запроса такой:
|SELECT  
    |         Сотр.Descr AS Наименование
    |         ,$Сотр.ДатаРождения AS ДатаРождения
    |         ,$ПоследнееЗначение.Сотрудники.КвоЛьгот(Сотр.ID, :ДатаАктуальности) КвоЛьгот
    |          ,$ПоследнееЗначение.Сотрудники.Тариф(Сотр.ID, :ДатаАктуальности) Тариф
    |          ,$ПоследнееЗначение.Сотрудники.Пенсионер(Сотр.ID, :ДатаАктуальности) Пенсионер
    |         ,$ПоследнееЗначение.Сотрудники.Инвалид(Сотр.ID, :ДатаАктуальности) Инвалид
    |        ,$ПоследнееЗначение.Сотрудники.МестоРаботы(Сотр.ID, :ДатаАктуальности) AS [Должность  $Справочник.Подразделения] 
    |         ,SUM(Подзапрос.Став) as Ставка
    | /* Подзапрос */
    |        FROM   
    |(           SELECT $ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности) Став
    |            FROM $Справочник.Сотрудники AS Подзапрос  
    |             WHERE ISFOLDER <> 1 /* ISFOLDER=1 это группа, иначе не группа (а, запись в группе, т.е не группа <> 1 */
    |)                
    | /* Подзапрос */                           
    | inner join
    | $Справочник.Сотрудники AS Сотр
    |
    |";
Выдает ошибку:
          Incorrect syntax near the keyword 'inner'.
   bananan
 
266 - 25.01.13 - 18:08
+(265) что теперь не так?
Только не надо что ошибка в использовании ключевого слова 'inner'
   Mikeware
 
267 - 25.01.13 - 18:11
_near_ the keyword 'inner'.
   Wobland
 
268 - 25.01.13 - 18:15
фром (подзапрос) _ас алиас_ джойн
   bananan
 
269 - 25.01.13 - 18:15
(267) Ты (266) читал?
   bananan
 
270 - 25.01.13 - 18:16
(268) не понял..
   bananan
 
271 - 25.01.13 - 18:17
+ (268) FROM $Справочник.Сотрудники AS Подзапрос 
...
 | inner join
    | $Справочник.Сотрудники AS Сотр
   bananan
 
272 - 25.01.13 - 18:18
или inner join надо к подзапросу лепить?
   bananan
 
273 - 25.01.13 - 18:19
+(272) дак и в подзапросе  inner join некоректный
   Wobland
 
274 - 25.01.13 - 18:21
(270) ты подзапрос каким словом обозвал (псевдонимом, алиасом)
   bananan
 
275 - 25.01.13 - 18:22
(274)подзапрос я и обозвал словом подзапрос
   Wobland
 
276 - 25.01.13 - 18:24
select
table1.some_fields,
table2.some_fields
from
 (select
   more_fields
    from
    something_else)
as table1
inner join
 something as table2
====
select ... from ... as tab1 join ... as tab2
понимаешь "схемку"?
   Wobland
 
277 - 25.01.13 - 18:25
(275) (
   Wobland
 
278 - 25.01.13 - 18:25
(277) случайный ентер
(275) там где-то есть "AS Подзапрос" или я не вижу?
   bananan
 
279 - 25.01.13 - 18:27
(278) Наверное нет - сейчас посмотрю
   bananan
 
280 - 25.01.13 - 18:29
+(279) вот текст подзщапроса:
|(           SELECT $ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности) Став
    |            FROM $Справочник.Сотрудники AS Подзапрос  
    |             WHERE ISFOLDER <> 1 /* ISFOLDER=1 это группа, иначе не группа (а, запись в группе, т.е не группа <> 1 */
 
   |)                
Где здесь втавить AS Подзапрос?
   bananan
 
281 - 25.01.13 - 18:29
+(280) Пардон ас здесь есть:
 SELECT $ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности) Став
   |            FROM $Справочник.Сотрудники AS Подзапрос
   bananan
 
282 - 25.01.13 - 18:30
ното ас выходит на Справочник.Сотрудники?
   bananan
 
283 - 25.01.13 - 18:32
и почему не коректен inner join?
   Wobland
 
284 - 25.01.13 - 18:33
(282) истинно так
ещё раз
select ... from() _as subquery_ и только потом join ... as сотрудники
   bananan
 
285 - 25.01.13 - 18:42
(284) Суть понял
   bananan
 
286 - 25.01.13 - 18:44
Сделал так:
|SELECT  
    |         Сотр.Descr AS Наименование
    |         ,$Сотр.ДатаРождения AS ДатаРождения
    |         ,$ПоследнееЗначение.Сотрудники.КвоЛьгот(Сотр.ID, :ДатаАктуальности) КвоЛьгот
    |          ,$ПоследнееЗначение.Сотрудники.Тариф(Сотр.ID, :ДатаАктуальности) Тариф
    |          ,$ПоследнееЗначение.Сотрудники.Пенсионер(Сотр.ID, :ДатаАктуальности) Пенсионер
    |         ,$ПоследнееЗначение.Сотрудники.Инвалид(Сотр.ID, :ДатаАктуальности) Инвалид
    |        ,$ПоследнееЗначение.Сотрудники.МестоРаботы(Сотр.ID, :ДатаАктуальности) AS [Должность  $Справочник.Подразделения] 
    |         ,SUM(Подзапрос.Став) as Ставка
    | /* Подзапрос */
    |        FROM   
    |(           SELECT $ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности) Став
    |            FROM $Справочник.Сотрудники 
    |             WHERE ISFOLDER <> 1 /* ISFOLDER=1 это группа, иначе не группа (а, запись в группе, т.е не группа <> 1 */
    |)AS Подзапрос  
    | /* Подзапрос */                           
    | inner join
    | $Справочник.Сотрудники AS Сотр
 
выдает ошибку:
   Incorrect syntax near 'Сотр'.
   bananan
 
287 - 25.01.13 - 18:44
И где посмотреть какая именно строка выдает эту ошибку?
   Wobland
 
288 - 25.01.13 - 18:57
join по какому условию? join on...
   Wobland
 
289 - 25.01.13 - 18:58
(287) если более бородатые подскажут, скажу спасибо ;)
   bananan
 
290 - 25.01.13 - 19:00
(288) а какое здесь может быть условие?
   bananan
 
291 - 25.01.13 - 19:02
+(290) Еще раз задача выбрать сотрудников и данные по них + к этому подсчитать число ставок в подразделениях
   Wobland
 
292 - 25.01.13 - 19:08
открываем Ицик для чайников и изучаем соединения.
у тебя есть две таблицы с такими-то полями. соединение говорит о том, что нужно какие-то поля одной таблицы и "подсунуть" справа какие-то поля второй. от типа соединения и условия зависит результат запроса.

часто иногда делается что-то типа
выбрать сотрудники.пусть_наименование, подзапрос.пусть_ставка
() как подзапрос пусть_внутреннее соединение сотрудники
по подзапрос.ид=сотрудники.ид
   Wobland
 
293 - 25.01.13 - 19:10
//лениво раскладку переключать. как вспомню себя.. то $ надо, то "справочник", то опять from какой-нибудь. и всё одной рукой...
   bananan
 
294 - 25.01.13 - 19:15
(292) Ицика я читаю.. (плохо видно читаю )
А какое мне в моей задаче ставить условие?
   Wobland
 
295 - 25.01.13 - 19:19
(294) да я уже бахнул, думать не хочу ;)
   Wobland
 
296 - 25.01.13 - 19:19
достал, короче ;)

SELECT   
    Сотр.Descr AS Наименование,
    $Сотр.ДатаРождения AS ДатаРождения,
    $ПоследнееЗначение.Сотрудники.КвоЛьгот(Сотр.ID, :ДатаАктуальности) КвоЛьгот,
    $ПоследнееЗначение.Сотрудники.Тариф(Сотр.ID, :ДатаАктуальности) Тариф,
    $ПоследнееЗначение.Сотрудники.Пенсионер(Сотр.ID, :ДатаАктуальности) Пенсионер,
    $ПоследнееЗначение.Сотрудники.Инвалид(Сотр.ID, :ДатаАктуальности) Инвалид,
    $ПоследнееЗначение.Сотрудники.МестоРаботы(Сотр.ID, :ДатаАктуальности) AS [Должность  $Справочник.Подразделения],
    $ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности) Став,
    SUM(Подзапрос.Став) as Ставка
FROM   
    $Справочник.Сотрудники AS Сотр
GROUP BY
    Сотр.Descr,
    $Сотр.ДатаРождения,
    $ПоследнееЗначение.Сотрудники.КвоЛьгот(Сотр.ID, :ДатаАктуальности),
    $ПоследнееЗначение.Сотрудники.Тариф(Сотр.ID, :ДатаАктуальности),
    $ПоследнееЗначение.Сотрудники.Пенсионер(Сотр.ID, :ДатаАктуальности),
    $ПоследнееЗначение.Сотрудники.Инвалид(Сотр.ID, :ДатаАктуальности),
    $ПоследнееЗначение.Сотрудники.МестоРаботы(Сотр.ID, :ДатаАктуальности),
    $ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности)
   Wobland
 
297 - 25.01.13 - 19:20
"Сотр0" читать как "Сотр"
   bananan
 
298 - 25.01.13 - 19:20
+(294) С условеим соединения вроде понял
сделал так:
 |SELECT   
    |         Сотр.Descr AS Наименование
    |         ,$Сотр.ДатаРождения AS ДатаРождения
    |         ,$ПоследнееЗначение.Сотрудники.КвоЛьгот(Сотр.ID, :ДатаАктуальности) КвоЛьгот
    |          ,$ПоследнееЗначение.Сотрудники.Тариф(Сотр.ID, :ДатаАктуальности) Тариф
    |          ,$ПоследнееЗначение.Сотрудники.Пенсионер(Сотр.ID, :ДатаАктуальности) Пенсионер
    |         ,$ПоследнееЗначение.Сотрудники.Инвалид(Сотр.ID, :ДатаАктуальности) Инвалид
    |        ,$ПоследнееЗначение.Сотрудники.МестоРаботы(Сотр.ID, :ДатаАктуальности) AS [Должность  $Справочник.Подразделения] 
    |         ,SUM(Подзапрос.Став) as Ставка
    | /* Подзапрос */
    |        FROM   
    |(           SELECT $ПоследнееЗначение.Сотрудники.Ставка(Сотр.ID, :ДатаАктуальности) Став
    |            FROM $Справочник.Сотрудники 
    |             WHERE ISFOLDER <> 1 /* ISFOLDER=1 это группа, иначе не группа (а, запись в группе, т.е не группа <> 1 */
    |)AS Подзапрос  
    | /* Подзапрос */                           
 
   | inner join $Справочник.Сотрудники as Сотр (NOLOCK) on Сотр.ID = Подзапрос.ID
выдает:
  The column prefix 'Сотр' does not match with a table name or alias name used in the query.
   bananan
 
299 - 25.01.13 - 19:23
А (296) к чему?
   Wobland
 
300 - 25.01.13 - 19:26
(299) синтаксически и логически верный нужный тебе запрос. на мой скромный взгляд, конечно
  1  2  3  4   

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует