|
v7: 1С++ | ☑ | ||
---|---|---|---|---|
0
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 $Справочник.Сотрудники Сотр А геде его нужно объявить? |
|||
220
Ёпрст
25.01.13
✎
16:47
|
соединением с подзапросом
|
|||
221
bananan
25.01.13
✎
16:47
|
ОП, я только сейчас сообразил. Совсем вроде не так надо данный запрос писать, потому что мне надо просуммировать ставки для каждой из групп в справочнике сотрудники...
А как в 1С++ определить что это группа? |
|||
222
Ёпрст
25.01.13
✎
16:48
|
надо бы план выполнения поглядеть, как он вложенные обрабатывает..
|
|||
223
Ёпрст
25.01.13
✎
16:49
|
||||
224
bananan
25.01.13
✎
16:51
|
(221) Спасибо. Читаю
|
|||
225
trad
25.01.13
✎
16:55
|
(220) ну можно и с подзапросом соединит, можно и корреляционный в селект лист вставить.
Но вроде говорили про вложенное vs каскадное соединение |
|||
226
Ёпрст
25.01.13
✎
16:56
|
(225) Ну, я то не говорил, тока слушал и смотрел :)
|
|||
227
bananan
25.01.13
✎
16:57
|
|ISFOLDER = 1 значит группа...
А теперь мне для каждой группы надо просумировать к-во ставок. Как это сделать? |
|||
228
Ёпрст
25.01.13
✎
16:58
|
Хотя и в линейном тоже скорее всего можно, надо подумать...
|
|||
229
bananan
25.01.13
✎
17:15
|
хорошо, я все-таки еще не до конц понял с именами
написал такой запрос: | SELECT Сотр.Ставка | FROM $Справочник.Сотрудники AS Сотр | WHERE ISFOLDER <> 1 /* ISFOLDER=1 это группа, иначе не группа (а, запись в группе, т.е не группа <> 1 */ Выдает ошибку: Invalid column name 'Ставка' |
|||
230
rbserg
25.01.13
✎
17:17
|
(229) Комментарии в MS SQL не /* коммент*/,
а | SELECT Сотр.Ставка | FROM $Справочник.Сотрудники AS Сотр | WHERE ISFOLDER <> 1 -- Это правильный коммент читай букварь блин жеж!!! |
|||
231
Mikeware
25.01.13
✎
17:17
|
нет _в_базе_ в таблице поля с именем "Ставка"
|
|||
232
rbserg
25.01.13
✎
17:18
|
Короче комент в MS SQL начинается с "--"
|
|||
233
Ёпрст
25.01.13
✎
17:18
|
(229) ставка - периодический реквизит, она хранится в 1sconst, её нет физически в табличке $Справочник.Сотрудники.
Ну сколько можно ? |
|||
234
rbserg
25.01.13
✎
17:19
|
(233) > Ну сколько можно ?
+1 Автор, дуй чтить мануалы. Быстро! |
|||
235
bananan
25.01.13
✎
17:19
|
(231) Да, блин, я понял такой инглиш, но поле Ставка есть в справочнике Сотрудники. Понятно что я к нему не правильно обращаюсь..
А как правильно? |
|||
236
Ёпрст
25.01.13
✎
17:20
|
(232)
/* а это батенька, многострочный комментарий в скуле и аутор, тут первый раз не при чем */ |
|||
237
Wobland
25.01.13
✎
17:20
|
новую ветку пора. про периодические реквизиты.
(235) есть у тебя поле вида sp3145, но не в случае с периодическими |
|||
238
bananan
25.01.13
✎
17:20
|
(233) Спасибо, мануалы я читаю, просто голова уже кругом идет - забыл что ставка - переодический реквизит
|
|||
239
Ёпрст
25.01.13
✎
17:20
|
(235) смотри свой запрос в (0), вспоминай при ПоследнееЗначение
|
|||
240
Mikeware
25.01.13
✎
17:21
|
(237) да, собственно, и периодика тут ни при чем...
|
|||
241
rbserg
25.01.13
✎
17:23
|
(236) и правда. 4 года со скулем вожусь не разу не воспользовался. бывает же..
|
|||
242
bananan
25.01.13
✎
17:23
|
(239) $ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности) Став
|
|||
243
Ёпрст
25.01.13
✎
17:26
|
(241) ну, в доках же по скулю сплошь и рядом, ты просто не замечал, что они есть :)
|
|||
244
bananan
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
|
и следующий фром не ясно к чему..
|
|||
247
Wobland
25.01.13
✎
17:30
|
фром (селект)
|
|||
248
Wobland
25.01.13
✎
17:30
|
а автор, похоже, исправляется. не зря я в него верил ;)
хоть вопросы толково ставить начал ;) |
|||
249
bananan
25.01.13
✎
17:32
|
(246)(247) да я когда писал меня это мучило, а где мне объявить альяс длс Стр?
|
|||
250
bananan
25.01.13
✎
17:32
|
(248) Спасимбо
|
|||
251
rbserg
25.01.13
✎
17:34
|
(244) Давай полный запрос.
|
|||
252
bananan
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 Сотр |"; |
|||
253
Wobland
25.01.13
✎
17:37
|
(249) фром (селект) ас Стр? запрос не глядел
|
|||
254
bananan
25.01.13
✎
17:38
|
(253) ничего не понял :(
|
|||
255
bananan
25.01.13
✎
17:43
|
Где альяс Сотр объявлять???
|
|||
256
monsterZE
25.01.13
✎
17:47
|
ты выбираешь и выборки.. вот к ней и обращайся
|
|||
257
Wobland
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 это всё на коленке, не вникая в смысл |
|||
258
monsterZE
25.01.13
✎
17:49
|
Для IsFolder: 2 – Элемент, 1 – Группа. Это сделано для того чтобы упорядочивание по этому полю сначала выдавало группы, а затем элементы.
|
|||
259
Wobland
25.01.13
✎
17:51
|
(257) group by ещё, конечно
|
|||
260
rbserg
25.01.13
✎
17:52
|
а нафиг ему там ,SUM(Подзапрос.Став)??
|
|||
261
rbserg
25.01.13
✎
17:53
|
Автор изложи задачу словами.
|
|||
262
bananan
25.01.13
✎
17:56
|
(261) Сдовами...
Надо показать инфу для отдела кадров, в том числе и количество ставок у каждого подразделения |
|||
263
bananan
25.01.13
✎
17:57
|
(257) Спасибо, сейчас так буду пробывать
|
|||
264
Wobland
25.01.13
✎
18:04
|
(262) если это задача, то "надо почитать документацию" - ответ
|
|||
265
bananan
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'. |
|||
266
bananan
25.01.13
✎
18:08
|
+(265) что теперь не так?
Только не надо что ошибка в использовании ключевого слова 'inner' |
|||
267
Mikeware
25.01.13
✎
18:11
|
_near_ the keyword 'inner'.
|
|||
268
Wobland
25.01.13
✎
18:15
|
фром (подзапрос) _ас алиас_ джойн
|
|||
269
bananan
25.01.13
✎
18:15
|
(267) Ты (266) читал?
|
|||
270
bananan
25.01.13
✎
18:16
|
(268) не понял..
|
|||
271
bananan
25.01.13
✎
18:17
|
+ (268) FROM $Справочник.Сотрудники AS Подзапрос
... | inner join | $Справочник.Сотрудники AS Сотр |
|||
272
bananan
25.01.13
✎
18:18
|
или inner join надо к подзапросу лепить?
|
|||
273
bananan
25.01.13
✎
18:19
|
+(272) дак и в подзапросе inner join некоректный
|
|||
274
Wobland
25.01.13
✎
18:21
|
(270) ты подзапрос каким словом обозвал (псевдонимом, алиасом)
|
|||
275
bananan
25.01.13
✎
18:22
|
(274)подзапрос я и обозвал словом подзапрос
|
|||
276
Wobland
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 понимаешь "схемку"? |
|||
277
Wobland
25.01.13
✎
18:25
|
(275) (
|
|||
278
Wobland
25.01.13
✎
18:25
|
(277) случайный ентер
(275) там где-то есть "AS Подзапрос" или я не вижу? |
|||
279
bananan
25.01.13
✎
18:27
|
(278) Наверное нет - сейчас посмотрю
|
|||
280
bananan
25.01.13
✎
18:29
|
+(279) вот текст подзщапроса:
|( SELECT $ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности) Став | FROM $Справочник.Сотрудники AS Подзапрос | WHERE ISFOLDER <> 1 /* ISFOLDER=1 это группа, иначе не группа (а, запись в группе, т.е не группа <> 1 */ |) Где здесь втавить AS Подзапрос? |
|||
281
bananan
25.01.13
✎
18:29
|
+(280) Пардон ас здесь есть:
SELECT $ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности) Став | FROM $Справочник.Сотрудники AS Подзапрос |
|||
282
bananan
25.01.13
✎
18:30
|
ното ас выходит на Справочник.Сотрудники?
|
|||
283
bananan
25.01.13
✎
18:32
|
и почему не коректен inner join?
|
|||
284
Wobland
25.01.13
✎
18:33
|
(282) истинно так
ещё раз select ... from() _as subquery_ и только потом join ... as сотрудники |
|||
285
bananan
25.01.13
✎
18:42
|
(284) Суть понял
|
|||
286
bananan
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 'Сотр'. |
|||
287
bananan
25.01.13
✎
18:44
|
И где посмотреть какая именно строка выдает эту ошибку?
|
|||
288
Wobland
25.01.13
✎
18:57
|
join по какому условию? join on...
|
|||
289
Wobland
25.01.13
✎
18:58
|
(287) если более бородатые подскажут, скажу спасибо ;)
|
|||
290
bananan
25.01.13
✎
19:00
|
(288) а какое здесь может быть условие?
|
|||
291
bananan
25.01.13
✎
19:02
|
+(290) Еще раз задача выбрать сотрудников и данные по них + к этому подсчитать число ставок в подразделениях
|
|||
292
Wobland
25.01.13
✎
19:08
|
открываем Ицик для чайников и изучаем соединения.
у тебя есть две таблицы с такими-то полями. соединение говорит о том, что нужно какие-то поля одной таблицы и "подсунуть" справа какие-то поля второй. от типа соединения и условия зависит результат запроса. часто иногда делается что-то типа выбрать сотрудники.пусть_наименование, подзапрос.пусть_ставка () как подзапрос пусть_внутреннее соединение сотрудники по подзапрос.ид=сотрудники.ид |
|||
293
Wobland
25.01.13
✎
19:10
|
//лениво раскладку переключать. как вспомню себя.. то $ надо, то "справочник", то опять from какой-нибудь. и всё одной рукой...
|
|||
294
bananan
25.01.13
✎
19:15
|
(292) Ицика я читаю.. (плохо видно читаю )
А какое мне в моей задаче ставить условие? |
|||
295
Wobland
25.01.13
✎
19:19
|
(294) да я уже бахнул, думать не хочу ;)
|
|||
296
Wobland
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, :ДатаАктуальности) |
|||
297
Wobland
25.01.13
✎
19:20
|
"Сотр0" читать как "Сотр"
|
|||
298
bananan
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. |
|||
299
bananan
25.01.13
✎
19:23
|
А (296) к чему?
|
|||
300
Wobland
25.01.13
✎
19:26
|
(299) синтаксически и логически верный нужный тебе запрос. на мой скромный взгляд, конечно
|
|||
301
Wobland
25.01.13
✎
19:26
|
ах, да. вхере про группу вставляется перед груп бай
|
|||
302
bananan
25.01.13
✎
19:27
|
(330) с логикой тут вроде тоже не все в порядке, но сейчас мне бы с синтаксисом разобраться..
|
|||
303
bananan
25.01.13
✎
19:30
|
а вообще и в 1С++ не без странностей, почему к полю справочника "ДатаРождения" надо обращаться как $Сотр.ДатаРождения а к полю Наименование Сотр.Descr?
|
|||
304
Wobland
25.01.13
✎
19:31
|
(303) *.dd почитай. то, что ты видишь как ДатаРождения называется в sql sp5564 (к примеру), наименование - descr. есть ещё code, id и т.д.
(302) возьми, выполни и расскажи, как оно |
|||
305
Wobland
25.01.13
✎
19:32
|
$Сотр.ДатаРождения эквивалентно Сотр.sp2345 - без доллара
|
|||
306
bananan
25.01.13
✎
19:41
|
(304) Да как его выполнить, если синтаксический ошибки
|
|||
307
Wobland
25.01.13
✎
19:45
|
(296) перечитал. кроме Сотр0 не увидел. ну и пусть без условия про группы
|
|||
308
Wobland
25.01.13
✎
19:46
|
увидел
SUM($ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности)) Став, - исправить, SUM(Подзапрос.Став) as Ставка - dsrbyenm |
|||
309
Wobland
25.01.13
✎
19:46
|
$ПоследнееЗначение.Сотрудники.Ставка(Сотр0.ID, :ДатаАктуальности) и вот этого в группировке быть не должно
|
|||
310
bananan
25.01.13
✎
19:50
|
Я уже совсем двинулся
Код: ТекстЗапроса = " |SELECT | Сотр.Descr AS Наименование | /* SUM($ПоследнееЗначение.Сотрудники.Ставка(Сотр.ID, :ДатаАктуальности)) */ | | /* Подзапрос */ | FROM |( SELECT $ПоследнееЗначение.Сотрудники.Ставка(Сотр.ID, :ДатаАктуальности) Став | FROM $Справочник.Сотрудники | WHERE ISFOLDER <> 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. |
|||
311
Wobland
25.01.13
✎
19:52
|
вот это сделай
SELECT Сотр.Descr AS Наименование, $Сотр.ДатаРождения AS ДатаРождения, $ПоследнееЗначение.Сотрудники.КвоЛьгот(Сотр.ID, :ДатаАктуальности) КвоЛьгот, $ПоследнееЗначение.Сотрудники.Тариф(Сотр.ID, :ДатаАктуальности) Тариф, $ПоследнееЗначение.Сотрудники.Пенсионер(Сотр.ID, :ДатаАктуальности) Пенсионер, $ПоследнееЗначение.Сотрудники.Инвалид(Сотр.ID, :ДатаАктуальности) Инвалид, $ПоследнееЗначение.Сотрудники.МестоРаботы(Сотр.ID, :ДатаАктуальности) AS [Должность $Справочник.Подразделения], SUM($ПоследнееЗначение.Сотрудники.Ставка(Сотр.ID, :ДатаАктуальности)) Став, FROM $Справочник.Сотрудники AS Сотр GROUP BY Сотр.Descr, $Сотр.ДатаРождения, $ПоследнееЗначение.Сотрудники.КвоЛьгот(Сотр.ID, :ДатаАктуальности), $ПоследнееЗначение.Сотрудники.Тариф(Сотр.ID, :ДатаАктуальности), $ПоследнееЗначение.Сотрудники.Пенсионер(Сотр.ID, :ДатаАктуальности), $ПоследнееЗначение.Сотрудники.Инвалид(Сотр.ID, :ДатаАктуальности), $ПоследнееЗначение.Сотрудники.МестоРаботы(Сотр.ID, :ДатаАктуальности) |
|||
312
bananan
25.01.13
✎
19:57
|
(311) Ты посмотри (310) причем здесь груп бай?
|
|||
313
Wobland
25.01.13
✎
20:01
|
(312) а при чём здесь подзапрос? ты ж суммировать хочешь. сколько я тебя федей и васей пытал? просто возьми и сделай.
|
|||
314
McNamara
25.01.13
✎
20:03
|
Ветка и тема из прощлого столетия)
|
|||
315
ADirks
28.01.13
✎
07:37
|
Прикольная ветка. Я вот тут тоже нарыл у в нашей конфе:
УчитыватьНДС = 2 - ?(Фирма.ОсновнаяСтавкаНДС.Ставка > 0, 1, 2); это конечно не так круто, как коррелированый запрос, но тоже неплохо. |
|||
316
sapphire
28.01.13
✎
09:55
|
(310) То, что двинулся, это верно.
Ну посмотри, что ты пишешь,а? подзапрос: SELECT $ПоследнееЗначение.Сотрудники.Ставка(Сотр.ID, :ДатаАктуальности) Став FROM $Справочник.Сотрудники WHERE ISFOLDER <> 1 1. ЧТО ЗДЕСЬ ЗА Сотр.ID???? 2. Далее ты соединяешься опять же по Подзапрос.ID ГДЕ ЭТО ДОЛБАННОЕ ID У ТЕБЯ В ПОДЗАПРОСЕ?! |
|||
317
Wobland
29.01.13
✎
05:42
|
потом потеряю это оптимистичное заявление автора..
"Так уж получилось. но, поверьте - неделя-две и от этого незнания и следа не будет" Оптимизация запроса |
|||
318
Mikeware
29.01.13
✎
06:13
|
(317) а может, это - уже новое "незнание"? :-)
а от старого и следа не осталось... в принципе, логично - ТС тупит всегда по-разному... |
|||
319
sapphire
29.01.13
✎
12:13
|
(317) (318) Затих ТС :)
Видать готовит очередной шедевр :D |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |