Имя: Пароль:
1C
1С v8
Вопрос на засыпку:
,
0 Fragster
 
гуру
02.08.11
13:46
1. Не всегда 58% (7)
2. Да, Инфа 100% 25% (3)
3. Никогда 17% (2)
Всего мнений: 12

Всегда ли такой запрос вернет "А"?


Выбрать Первые 1
 Вложенный.Поле1
Из
 (Выбрать
   ""А"" Как Поле1
 Объединить все
 Выбрать
   ""Б"") КАК Вложенный
1 ДенисЧ
 
02.08.11
13:47
нет, не всегда
И не должен.
Хотя в таком примитивном виде, практически всегда

Не всегда
2 Scooter
 
02.08.11
13:47
зная 1с

Не всегда
3 Fragster
 
гуру
02.08.11
13:48
(1) вопрос именно в объединении
4 butterbean
 
02.08.11
13:49

Не всегда
5 Ёпрст
 
02.08.11
13:51
как то так.

Не всегда
6 palpetrovich
 
02.08.11
13:52
мне вот интересно, из скольки запусков кода из (0) сколько раз проголосовавшие выше не получили "А" :)
7 Ёпрст
 
02.08.11
13:52
вообще, в скуле order by для top указывается.
8 Axel2009
 
02.08.11
13:53
никогда, никогда нельзя рассчитывать что из кучи вернется первое то, что нужно пользователю.

Никогда
9 Grusswelle
 
02.08.11
13:53
У меня - "А"
10 capitanjack
 
02.08.11
13:53
при такой конструкции всегда вернет А

Да, Инфа 100%
11 Axel2009
 
02.08.11
13:54
(6) 1го раза для увольнения будет достаточно
12 palpetrovich
 
02.08.11
13:55
(11) демагогия
13 Wobland
 
02.08.11
13:55
не всегда. встречал на практике, сильно удивлялся поначалу

Не всегда
14 Wobland
 
02.08.11
13:56
(8) никогда не вернёт А?
15 Scooter
 
02.08.11
13:56
(6)всё зависит где ты будешь выполнять этот запрос
16 Axel2009
 
02.08.11
13:57
ВЫБРАТЬ ПЕРВЫЕ 1 Ссылка ИЗ (
ВЫБРАТЬ ПЕРВЫЕ 1 Ссылка Из Справочник.Подразделения
ОБЪЕДИНИТЬ
ВЫБРАТЬ ПЕРВЫЕ 1 Ссылка Из Справочник.Номенклатура) КАК Тест
вернуло только щас справочник из Номенклатуры
17 Axel2009
 
02.08.11
13:57
(14) никогда не нужно рассчитывать.
18 Wobland
 
02.08.11
13:59
(17) это ответ на вопрос, которого не было в (0) ;)
19 palpetrovich
 
02.08.11
14:00
проверил 100 раз  :))

Да, Инфа 100%
20 Axel2009
 
02.08.11
14:00
(18) лучше ответить никогда, чем когда увидят "не всегда" и подумают, а у меня прокатит.
21 Дикообразко
 
02.08.11
14:01
(0) а зачем подобный изврат?
22 hhhh
 
02.08.11
14:20
(19) ну как бы в результате получается не "А", а результат запроса. Как вы тут получаете 100% "А" - уму непостижимо.

Никогда
23 hhhh
 
02.08.11
14:30
(19) новый поворот, что вернет запрос

Выбрать Первые 1
    |  Вложенный.Поле1
   |    Из
     |(Выбрать
   |""A"" Как Поле1
 |Объединить
 |Выбрать
 |  0) КАК Вложенный

???
24 mikecool
 
02.08.11
14:31
(10) проверил в мс скуле, постгри, дб2 и оракле?
25 mikecool
 
02.08.11
14:31
мой выбор

Не всегда
26 rutony
 
02.08.11
14:41
Вернет А, без вариантов

Да, Инфа 100%
27 palpetrovich
 
02.08.11
14:52
(22) ну , по правде говоря  я схитрил малехо  :)
Выбрать Первые 1
 Вложенный.Поле1
Из
 (Выбрать
   1 Как Поле1
 Объединить все
 Выбрать
   2) КАК Вложенный
28 Fragster
 
гуру
02.08.11
14:53
(16) ОБЪЕДИНИТЬ ВСЕ
29 Fragster
 
гуру
02.08.11
14:54
(21) получение из регистра, если в нем нет значения - то значение по умолчанию
30 Ненавижу 1С
 
гуру
02.08.11
14:55
ну теоретически в (0) как бэ не обязательно, красивее и православнее сделать сортировку
31 Fragster
 
гуру
02.08.11
14:55
(20) не, я перестраховщик, у меня там еще колонка "приоритет" с 0 и 1 и сортировка по ней
32 Дикообразко
 
02.08.11
14:56
(29) а не проще, через IsNull ?
33 rs_trade
 
02.08.11
14:58
(29) джойн и кейс понадежней будет. по быстродействию хз
34 Fragster
 
гуру
02.08.11
14:59
(32) Ты имеешь ввиду


Выбрать
 ЕстьNULL(Регистр.Значение, ПоУмолчанию.Значение)
Из
 (Выбрать &ПоУмолчанию как Значение) Как ПоУмолчанию
 Левое соединение Регистр
   По Регистр.Измерение1 = &Измерение1
   И Регистр.Измерение2 = &Измерение2
35 Ненавижу 1С
 
гуру
02.08.11
14:59
(31) и это правильно
36 Axel2009
 
02.08.11
14:59
(28) сути не меняет. сервер не обязан возвращать так как ты от него ждешь, если не указать ему правило.
37 Fragster
 
гуру
02.08.11
15:00
(36) однако же в (16) результат таки поменяется
38 Fragster
 
гуру
02.08.11
15:00
:)
39 Axel2009
 
02.08.11
15:01
(37) потому что серверу в данный момент "удобно и проще" так вернуть
40 fisher
 
02.08.11
15:02
(0) Без понятия. Фишка в том, что дефолтных сортировок язык запросов не предусматривает. Поэтому никаких гарантий, что будет всегда "А", быть не может.

Не всегда
41 Fragster
 
гуру
02.08.11
15:02
(39) просто при Объединить - есть обработка данных, а при Объединить все - нет
42 rs_trade
 
02.08.11
15:06
(41) вроде как без разницы это.
43 rs_trade
 
02.08.11
15:07
вложенный запрос это неупорядоченное множество.
44 Axel2009
 
02.08.11
15:07
(41) лениво делать такую нагрузку, если у тебя в первом объединить будет запрос к таблице, которая в этот момент залочена, будет ли выбрана константа али нет..
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.