Имя: Пароль:
1C
1С v8
Наиболее кошерный, халяльный, фэншуйный способ изучения запросов
0 mailwood
 
22.12.11
10:52
Народ, делимся -  кто как учит запросы ? Причина такого внимания к запросам проста. Нет книг именно по запросам. Или я таких не встречал.
Но книг производства 1С точно нет. Интересны литература, видео в форме именно практикума. Готовый запрос на 1000 строк неинтересен, интересна логика его создания. Где такое можно увидеть ?

PS Кто не понял, я про запросы, не обязательно запросы 1С..
1 mirosh
 
22.12.11
10:53
(0) sql-ex.ru
2 ДенисЧ
 
22.12.11
10:54
Книг по запросам SQL чуть меньше, чем дофига...
3 andrewks
 
22.12.11
10:54
литературку по SQL можешь почитать
4 ПиН
 
22.12.11
10:55
по-моему, мало тут известный, товарищ Митичкин в своей книге достаточно подробно запросы описывал...
5 mailwood
 
22.12.11
10:55
(2) Логика создания запроса, и чтобы книга на русском ?
6 almar
 
22.12.11
10:55
Кино от Чистова и Гилева уже предлагали?
7 OFF
 
22.12.11
10:55
Чистов с видео по запросам был еще ..........
8 Defender aka LINN
 
22.12.11
10:55
(0) Гм... Я вот на заре изучения 8.0 зашел в самый большой книжный магазин города, и через 20 минут ушел оттуда с книжкой по SQL-запросам в руках. Очевидно, что ты как-то по-другому делаешь.
9 Rie
 
22.12.11
10:56
(5) Что есть "логика создания запроса"?
Логика - в проектировании структур БД. А дальше - голая техника.
10 mailwood
 
22.12.11
10:57
(6) У Чистова хорошее видео по запросам. Но создание сложного запроса не разбирается.  Гилева всего не изучал, там есть ?
11 Сисой
 
22.12.11
10:57
(5) Это надо сильно постараться, чтобы в упор не видеть десятков книг по SQL.
Сойдет любой самоучитель по SQL-92.
12 andrewks
 
22.12.11
10:59
(5) для начала, почитай какую-нибудь книжку по теории реляционных БД. потом про SQL
13 Guk
 
22.12.11
11:00
(10) что есть сложный запрос?...
14 Жирафка
 
22.12.11
11:00
(13) запрос из ЗУП на 15 страниц
15 Rie
 
22.12.11
11:03
Может, ТС пояснит, с чем именно у него проблема в запросах?
16 Guk
 
22.12.11
11:03
(14) в ЗУП не сложные запросы, просто они большие...
17 mailwood
 
22.12.11
11:05
Книг с азбукой мильон, книг по складыванию буков в слова меньше. Книг по складыванию слов в предложения единицы. Грамотных книг, как стать писателем, может вообще нет.
18 Rie
 
22.12.11
11:05
(17) С чем именно у тебя проблемы?
19 Жирафка
 
22.12.11
11:06
(16) ну.ну
20 andrewks
 
22.12.11
11:06
(17) тогда читай книжицы типа "Как научиться зарабатывать $300 млн. в год. "  там сразу рассказывается, как стать богатым и успешным
21 Сисой
 
22.12.11
11:07
(17) Еще раз. Самоучитель по SQL с учебной БД. И все примеры ручками прогнать. Помогает.
22 Scooter
 
22.12.11
11:07
(0)что читал, что не понял?
23 Aleksey
 
22.12.11
11:08
Походу ТС ищет книгу, которую не нужно будет читать, но станет сразу все понятно
24 Maxus43
 
22.12.11
11:09
под подушки перед сном положить и норм
25 МихаилМ
 
22.12.11
11:09
бессмысленно изучать запросы
без понимания работы субд

Изучите двухтомник администрирование и проектирование
субд ms sql 2005
26 Evpatiy
 
22.12.11
11:09
(0) "интересна логика его создания" реляционная алгебра + sql. И то и бругое тысячу раз описано со всех сторон.
27 Aleksey
 
22.12.11
11:10
28 ПиН
 
22.12.11
11:12
(25) ну ты даешь, нашел что предлагать, одинэсник не может жкк прочитать, а ты тут ему подсовываешь книженцию в 1000 листов, ТС нужна брошюрка не более 20 страниц крупным текстом с картинками... не больше...
29 ANikV
 
22.12.11
11:16
(0) Сходи на курс по запросам 1С. Там как раз детсадовский уровень.
30 mailwood
 
22.12.11
11:16
(28) Точно. Чем меньше понимания, там больше буков. Мне не интересна логика БД. Люди, советующие изучать логику СУБД, вообще меня не поняли.
31 Господин ПЖ
 
22.12.11
11:17
(30) иди метро водить...
32 Rie
 
22.12.11
11:17
(30) Так расскажи, что тебе непонятно-то.
33 mailwood
 
22.12.11
11:17
(29) Интересен уровень для продвинутых.
34 Господин ПЖ
 
22.12.11
11:17
наберут идиотов по объявлению... потом ходят и пальцы гнут отстатыщ
35 ПиН
 
22.12.11
11:18
(29) ну ладно тебе, в конце курса вполне взрослые задачки были, насколько я помню по отзывам моих программеров...
36 Rie
 
22.12.11
11:19
(33) Что в твоём понимании "продвинутый"?
Или давай с другой стороны подойдём - а что ты вообще о запросах знаешь (кроме самого слова "запрос").
37 mailwood
 
22.12.11
11:20
(31) Когда будут платить больше 1С - с удовольствием.
38 Сисой
 
22.12.11
11:20
(35) Я с этого курса в обед ушел. Детский сад.  Возможно, в конце и были задачи посерьезнее.
39 Сисой
 
22.12.11
11:22
(33) Да елки-палки, пониманию всех реляционных запросов нельзя научиться за пару дней. Только опыт формирует отложения в голове. Пока сам в консоли все не прогонишь - нифига не поймешь.
40 ПиН
 
22.12.11
11:22
(38) ха, так ты дядька взрослый, подкованный, а для новичков самое то...
41 Aleksey
 
22.12.11
11:22
(33) какой запрос может вернуть больше записей. Запрос с left join или с inner join?
42 mailwood
 
22.12.11
11:23
ВЫБРАТЬ РАЗЛИЧНЫЕ
   КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(ВложенныйЗапрос1.ДатаПлатежа, СЕКУНДА, 1), ДЕНЬ) КАК ДатаПлатежа,
   МАКСИМУМ(ВложенныйЗапрос1.ПлановыйРазмерПлатежа) КАК ПлановыйРазмерПлатежа,
   МАКСИМУМ(ВложенныйЗапрос1.РазмерПлатежа) КАК РазмерПлатежа,
   МАКСИМУМ(ВложенныйЗапрос2.ПлановыйПлатеж) КАК НакопленныйПлатеж,
   МАКСИМУМ(ВложенныйЗапрос3.СуммаВзаиморасчетовРасход) КАК СуммаВзаиморасчетовРасход
ИЗ
   (ВЫБРАТЬ
       РасчетыСКонтрагентамиОстаткиИОбороты.ПериодСекунда КАК ДатаПлатежа,
       0 КАК ПлановыйРазмерПлатежа,
       РасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК РазмерПлатежа
   ИЗ
       РегистрНакопления.РасчетыСКонтрагентами.ОстаткиИОбороты(
               ,
               ,
               Авто,
               ,
               Контрагент = &Контрагент
                   И Сделка = &Сделка) КАК РасчетыСКонтрагентамиОстаткиИОбороты
   
   ОБЪЕДИНИТЬ
   
   ВЫБРАТЬ
       ГрафикиПлатежейПоСделкамСрезПоследних.ДатаПлатежа,
       ГрафикиПлатежейПоСделкамСрезПоследних.СуммаПлатежа + ГрафикиПлатежейПоСделкамСрезПоследних.СуммаРассрочки,
       0
   ИЗ
       РегистрСведений.ГрафикиПлатежейПоСделкам.СрезПоследних(
               ,
               Контрагент = &Контрагент
                   И Сделка = &Сделка) КАК ГрафикиПлатежейПоСделкамСрезПоследних) КАК ВложенныйЗапрос1
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           ПериодыИзменения.ДатаПлатежа КАК ДатаПлатежа,
           СУММА(Регистр.ПлановыйПлатеж) КАК ПлановыйПлатеж
       ИЗ
           (ВЫБРАТЬ РАЗЛИЧНЫЕ
               ГрафикиПлатежейПоСделкам.ДатаПлатежа КАК ДатаПлатежа
           ИЗ
               РегистрСведений.ГрафикиПлатежейПоСделкам КАК ГрафикиПлатежейПоСделкам
           ГДЕ
               ГрафикиПлатежейПоСделкам.Контрагент = &Контрагент
               И ГрафикиПлатежейПоСделкам.Сделка = &Сделка) КАК ПериодыИзменения
               ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                   ГрафикиПлатежейПоСделкамСрезПоследних.СуммаПлатежа + ГрафикиПлатежейПоСделкамСрезПоследних.СуммаРассрочки КАК ПлановыйПлатеж,
                   ГрафикиПлатежейПоСделкамСрезПоследних.ДатаПлатежа КАК ДатаПлатежа
               ИЗ
                   РегистрСведений.ГрафикиПлатежейПоСделкам.СрезПоследних(
                           ,
                           Контрагент = &Контрагент
                               И Сделка = &Сделка) КАК ГрафикиПлатежейПоСделкамСрезПоследних) КАК Регистр
               ПО ПериодыИзменения.ДатаПлатежа >= Регистр.ДатаПлатежа
       
       СГРУППИРОВАТЬ ПО
           ПериодыИзменения.ДатаПлатежа) КАК ВложенныйЗапрос2
       ПО ВложенныйЗапрос1.ДатаПлатежа = ВложенныйЗапрос2.ДатаПлатежа
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           ПериодыИзменения.Период КАК Период,
           СУММА(Регистр.СуммаВзаиморасчетовРасход) КАК СуммаВзаиморасчетовРасход
       ИЗ
           (ВЫБРАТЬ РАЗЛИЧНЫЕ
               РасчетыСКонтрагентами.Период КАК Период
           ИЗ
               РегистрНакопления.РасчетыСКонтрагентами КАК РасчетыСКонтрагентами
           ГДЕ
               РасчетыСКонтрагентами.Контрагент = &Контрагент
               И РасчетыСКонтрагентами.Сделка = &Сделка) КАК ПериодыИзменения
               ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                   РасчетыСКонтрагентамиОбороты.ПериодСекунда КАК Период,
                   РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход КАК СуммаВзаиморасчетовРасход
               ИЗ
                   РегистрНакопления.РасчетыСКонтрагентами.Обороты(, , Авто, Контрагент = &Контрагент И Сделка = &Сделка) КАК РасчетыСКонтрагентамиОбороты) КАК Регистр
               ПО ПериодыИзменения.Период >= Регистр.Период
       
       СГРУППИРОВАТЬ ПО
           ПериодыИзменения.Период) КАК ВложенныйЗапрос3
       ПО ВложенныйЗапрос1.ДатаПлатежа = ВложенныйЗапрос3.Период

СГРУППИРОВАТЬ ПО
   КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(ВложенныйЗапрос1.ДатаПлатежа, СЕКУНДА, 1), ДЕНЬ)

УПОРЯДОЧИТЬ ПО
   ДатаПлатежа УБЫВ
43 MRAK
 
22.12.11
11:23
(19) +100
44 mailwood
 
22.12.11
11:24
(42) Сделал самостоятельно, работает. Но возможно неоптимален. Или можно упростить ?
45 MRAK
 
22.12.11
11:24
(23) + 100
Автьор ищет большую красную кнопку - СДЕЛАТЬ ВСЕ
46 Fish
 
22.12.11
11:26
47 mailwood
 
22.12.11
11:31
(46) Опять в описании БД БД .  Мне неинтересна СУБД. Есть что - нибудь по запросам в рамках псевдокода ? За наводку буду признателен.
48 and2
 
22.12.11
11:33
Груви и Гилев.
вся что для начального понимания и пользования - есть.

еще можно книжку прикупить - "Построение сложных отчетов". кажется так.
49 ДенисЧ
 
22.12.11
11:34
(48) эта книжечка не по запросам, а по СКД
50 ДенисЧ
 
22.12.11
11:34
(47) Без БД запросы безполезны
51 and2
 
22.12.11
11:35
(49) ну примеры то есть.
52 Aleksey
 
22.12.11
11:36
(47) Может быть потому что язык запросов - это язык конкретной СУБД?

Ты же не будешь изучать язык 1С для программирования в ассемблере. И сложно изучить язык без привязки к модели, когда ты не знаешь что такое справочник и чем отличается от документов
53 Rie
 
22.12.11
11:36
(47) Нет там никакого колдунства. Освой реляционную алгебру (на практике) - и будет тебе счастье.
Ты же не ищешь книгу о том, как писать сложные арифметические выражения. А почему?
54 fisher
 
22.12.11
11:37
(1) + 100500
Сам там изучал, еще когда сайт по-другому назывался.
Чрезвычайно эффективно.
Всем советую на каждом углу.
55 Fish
 
22.12.11
11:37
(47) "Мне неинтересна СУБД" - а зачем тогда тебе запросы вообще? Или ты не к БД запросы хочешь освоить? :)))
56 rutony
 
22.12.11
11:38
(0) Советую почитать ЕСИС 1.14, там есть выдранная книжка Митичкина, в ней есть глава про запросы в картинках, очень наглядно и легко перевариается
57 fisher
 
22.12.11
11:44
(54) +
Немножко порекламирую ресурс.
1) Результатом обучения там будут не какие-то теоретические основы и азы, а практически совершенное владение SQL на практике.
2) Там самая толковая справка/учебник по SQL, которую я когда-либо видел (минимум воды и при этом понятно и достаточно развернуто)
3) Практические задания решаются там же на сайте на живых демо-базах, с отображением получившегося результата. Задание считается решенным, когда результат совпадает с эталонным (проверяется параллельно на нескольких скрытых базах с другими наборами данных, так что подтасовать данные или случайно получить правильный результат не получится).
58 fisher
 
22.12.11
11:46
(57) + И все это абсолютно бесплатно! Только время и желание.
59 rs_trade
 
22.12.11
11:53
вот эта книга рулит

http://www.ozon.ru/context/detail/id/4499294/

после прочтения будет понимание sql
60 mailwood
 
22.12.11
11:56
(56)(57)  Спасибо. Наверное заняться запросами продется применительно к SQL, как к наиболее популярному языку.
(59) Также посмотрю.
61 sda553
 
22.12.11
11:59
В 90-ых годах я использовал конструкторы, а они мне потом по наконструированному готовый запрос делали.
А потом я как то сам понял эти запросы просто читая чужие запросы, иногда спрашивая у yahoo (google еще не было) непонятные команды, без всяких книжек. С языками программирования новыми я так же знакомлюсь, изучая как работает чужой модуль какой нибудь
62 DZ
 
22.12.11
11:59
(59) очень интересно, спасибо
63 rs_trade
 
22.12.11
12:00
(29) имхо, курсы от 1С по запросам вообще бесполезная трата времени.
64 Джинн
 
22.12.11
12:02
Лучше всего начать с отцов. Ибо нет Бога, кроме Кодда и Дейт пророк его... Чтобы вообще понять теорию реляционных баз. А дальше все уже дело техники.
65 fisher
 
22.12.11
12:04
(60) Так 1С-ый диалект практически не отличается. Идет как подмножество. Из дополнений самое крупное - ИТОГИ. Остальное - вообще мелочи не стоящие упоминания.
66 zak555
 
22.12.11
12:05
67 Rie
 
22.12.11
12:07
(65) Ещё специфичное дополнение - В ИЕРАРХИИ.
68 sda553
 
22.12.11
12:07
(65)
SELECT 'AverageCost' AS Cost_Sorted_By_Production_Days,
[0], [1], [2], [3], [4]
FROM
(SELECT DaysToManufacture, StandardCost
   FROM Production.Product) AS SourceTable
PIVOT
(
AVG(StandardCost)
FOR DaysToManufacture IN ([0], [1], [2], [3], [4])
) AS PivotTable

Чем не ИТОГИ ?
69 acsent
 
22.12.11
12:10
(0) Во первых для изучения запросов нельзя пользоваться конструктором
70 fisher
 
22.12.11
12:12
(68) В T-SQL есть еще лучше - почти полная аналогия итогам. Разве что без поддержки иерархий. Но это все именно аналогии. Реализация ИТОГОВ в 1С своя и специфичная. А все остальное транслируется на сервер БД практически один к одному.
71 NcSteel
 
22.12.11
12:14
(69) Насмешил .
72 mailwood
 
22.12.11
12:15
(69) Почему ?  По-моему самое грамотное - изучать именно на конструкторе. Так чисто логика остается, без проблем синтаксиса.
73 rs_trade
 
22.12.11
12:21
(70) есть и иерархии. у скуля все же есть.
74 zak555
 
22.12.11
12:24
конструкторы разжижают мозг =)
75 Песец
 
22.12.11
12:27
(0) Включить моск не предлагать?
76 fisher
 
22.12.11
12:29
(73) Про иерархии вроде чего-то слышал. Вроде тип данных хитрый добавили. И подсчет итогов по группировкам есть. А вот подсчет итогов по иерархии - не попадалось. Не поделишься ссылкой на примерчик?
77 acsent
 
22.12.11
12:32
(72) Пользуясь конструктором ты не учишься ЧИТАТЬ запросы.
78 gr0ck
 
22.12.11
12:40
(0) ТС, бросай 1С
79 gr0ck
 
22.12.11
12:40
(78) И вообще программирование
80 fisher
 
22.12.11
12:41
С конструктора лучше не начинать. Не будет понимания что именно конструктор делает, как и почему. Плюс у конструктора только очевидные возможности на виду. Что-то более хитрое в конструкторе можно сделать только зная синтаксис.
81 rs_trade
 
22.12.11
12:42
(76) да, тип добавили hierarchyid. с итогами примера не знаю. стандартными средствами я так понимаю.
82 fisher
 
22.12.11
12:45
(81) Боюсь, это до ума еще не довели. Ни в справке по этому типу, ни в справке по группировочным конструкциям об этом ни пол-слова.
83 rs_trade
 
22.12.11
12:56
(82) мне кажется тут каких спец методов не надо. можно и стандартными обойтись. у тебя же есть поле где храниться путь к элементу в иерархии. вот и группировать по нему.
84 fisher
 
22.12.11
13:01
(83) Тю. А если мне не нужен подсчет итогов по родителям? Не, без вариантов. Если бы было реализовано, то и модификаторы бы были и стопудово в справке было бы упомянуто.
85 rs_trade
 
22.12.11
13:02
+(83) можно полный путь получать и уровень. более чем достаточно.
86 rs_trade
 
22.12.11
13:03
(84) а что нужно? давай пример.
87 Jaffar
 
22.12.11
13:04
(66) именно "основый"? :-)
88 fisher
 
22.12.11
13:06
(86) Я думал, мы аналог ИТОГОВ в T-SQL обсуждаем. Какие еще примеры нужны?
Тупо подбить итоги по иерархии. Я склоняюсь к тому, что готовой реализации в T-SQL пока нет (на уровне базового синтаксиса).
89 ado
 
22.12.11
13:09
(1) +201000
90 fisher
 
22.12.11
13:11
(89) Наш человек! Можно голосовалку прикрепить :)
91 ado
 
22.12.11
13:13
(59) Чо все на этого Ицика так молятся? Обычный справочник по T-SQL. Ну да, подробный, но до учебника не дотягивает.
92 rs_trade
 
22.12.11
13:16
(91) По мне, так еще как дотягивает. И совсем не справочник. Он очень хорошо объясняет логику работы скуля в разных случаях. У меня понимание многих вещей пришло именно от прочтения его книг.
93 kotletka
 
22.12.11
13:18
судя по названию ветки, наиболее правильный путь сделать себе обрезание принять ислам+ стать евреем, увлечься китайской наукой
94 ado
 
22.12.11
13:21
(92) Хмммм, ну, у меня он дежурно на столе лежит, но чтобы именно учиться по нему ....

А что касаемо теории РБД (а читать надо именно про неё, а не "как написать запрос за 5 минут"), то вот надысь купил такую книжку: http://www.biblio-globus.ru/description.aspx?product_no=9182834
Доволен безумно, ничего лучшего на эту тему еще не видел.
95 ado
 
22.12.11
13:56
+(94) Немного об авторе: http://sp.cs.msu.su/staff/ksd.html
96 rs_trade
 
22.12.11
14:09
(95) Думаю что лучшие книги по ms sql именно от издательства мелкософта. Ибо в написании книг участвуют разработчики этого самого скуля. А кто лучше объяснит чем они.
97 fisher
 
22.12.11
14:13
(96) хороший разработчик <> хороший преподаватель
98 rs_trade
 
22.12.11
14:21
http://forcoder.ru/sql/professionalnoe-rukovodstvo-po-transact-sql-158

вот еще крутая книженция. но к сожалению местами устарела, ибо для 2000. но все равно можно почитать. там приемов реализации задач много всяких
99 ado
 
22.12.11
14:38
(96) А при чем тут вообще ms? Что, кроме ms никто СУБД не делает? А дяденька из ссылки выше состоит в организации, разрабатывающей стандарты на SQL, есличо.
100 Shurjk
 
22.12.11
14:41
SQL лучше всего учить было под Fox Pro. Ничего лишнего все четко и понятно, как в учебнике по теории БД.
101 rs_trade
 
22.12.11
14:45
(99) я знаю, если чо. я про другие книги. ms более же популярна для 1С. мне вот базу скоро на постгри переводить. ой как неохота. ибо в ms sql все знакомое и родное, а там темный лес.
2 + 2 = 3.9999999999999999999999999999999...