|
v8: чем отличается ОБЪЕДИНИТЬ от СОЕДИНЕНИЕ | ☑ | ||
---|---|---|---|---|
0
Ctvty
08.10.09
✎
16:12
|
в запросе чем отличается ОБЪЕДИНИТЬ от СОЕДИНЕНИЕ
|
|||
1
Aloex
08.10.09
✎
16:14
|
Как минимум ОБЪЕДИНИТЬ <> СОЕДИНЕНИЕ.
|
|||
2
Mitriy
08.10.09
✎
16:15
|
а ты можешь объяснить, чем отличается ВЫБРАТЬ от ИТОГИ?
|
|||
3
mikecool
08.10.09
✎
16:15
|
(1) +1
|
|||
4
mikecool
08.10.09
✎
16:15
|
(0) соединяешь источники данных, а объединяешь результаты
|
|||
5
Mitriy
08.10.09
✎
16:16
|
(4) как-то натянуто ))
|
|||
6
Mitriy
08.10.09
✎
16:18
|
(0) когда соединяешь, то поля не объединяются...
|
|||
7
mikecool
08.10.09
✎
16:19
|
(6) :)
|
|||
8
Живой Ископаемый
08.10.09
✎
16:22
|
скачал видеолекцию чистова, и посмотрел раза три.. и уже не перпутаешь.. если путаешься, то посмотрел еще раз 7...
|
|||
9
Ctvty
08.10.09
✎
16:22
|
я правильно понял что объединить соединяет по вертикали а соединить по горизонтали?
|
|||
10
mikecool
08.10.09
✎
16:23
|
(9) не, это гон...
открой описание языка запросов и почитай |
|||
11
Aloex
08.10.09
✎
16:24
|
(9) Лучше написать запросик, а не на пальцах рассуждать.
|
|||
12
Волшебник
модератор
08.10.09
✎
16:24
|
(9) ОБЪЕДИНИТЬ ещё сворачивает одинаковые записи в отличие от ОБЪЕДИНИТЬ ВСЕ
|
|||
13
Живой Ископаемый
08.10.09
✎
16:24
|
объединение не соединяет, а в остальном - если уж совсем-совсем упрощенно
|
|||
14
acsent
08.10.09
✎
16:24
|
(9) В качестве метафоры подойдет
|
|||
15
Волшебник
модератор
08.10.09
✎
16:24
|
СОЕДИНЕНИЕ бывает внешним и внутренним. Внешние соединения бывают левыми, правыми и полными.
|
|||
16
wason
08.10.09
✎
16:25
|
соединение = умнажения таблиц
ОБЪЕДИНИТЬ =сумма кажется... |
|||
17
Mitriy
08.10.09
✎
16:26
|
(9) когда объединяешь, то просто к строкам одной таблицы тупо добавляешь строки другой, поле в поле, количество полей должно быть одинаковым...
|
|||
18
mikecool
08.10.09
✎
16:26
|
При определении нескольких источников в списке источников для каждой записи из первой таблицы-источника осуществляется выборка из второй таблицы-источника, и т. д. Таким образом, в результате запроса формируются все возможные комбинации всех записей из всех указанных источников.
Соединения бывают нескольких видов; они описываются следующими правилами: <Перечень соединений> <Соединение> [<Перечень соединений>] <Соединение> [ВНУТРЕННЕЕ] СОЕДИНЕНИЕ <Описание источника> ПО <Условие отбора> | ЛЕВОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ <Описание источника> ПО <Условие отбора> | ПРАВОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ <Описание источника> ПО <Условие отбора> | ПОЛНОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ <Описание источника> ПО <Условие отбора> | В общем случае <Перечень соединений> может содержать и описывать не только одно соединение (двух источников), но и несколько соединений нескольких источников сразу. <Описание источника> содержит описание исходной таблицы – см. Описание источников запроса. <Условие отбора> содержит условия, в соответствии с которыми в выборке необходимо соединить данные из исходных таблиц – источников запроса. Правила описания условий в языке запросов рассматриваются в Условия в языке запросов. Ключевые слова ЛЕВОЕ, ПРАВОЕ и ПОЛНОЕ уточняют характер соединения. Слова ВНУТРЕНЕЕ или ВНЕШНЕЕ можно не указывать вообще, они повышают наглядность и удобочитаемость текста запроса. Соединяемые источники не равнозначны между собой, и в некоторых случаях результат зависит от того, какая таблица указана первой, до ключевого слова СОЕДИНЕНИЕ (слева от него), а какая – второй (справа). Объединение запросов В языке запросов имеется возможность объединять несколько запросов; при этом записи, полученные с помощью каждого из объединяемых запросов, будут собраны в один результат запроса. При объединении каждый запрос собирает данные независимо, а такие операции, как упорядочивание результатов и расчет итогов выполняются уже над результатом объединения запросов. Поля результата запроса будут называться так, как описано в списке полей выборки первого из объединяемых запросов. Поля выборки остальных запросов сопоставляются с полями результата в соответствии с порядком их следования в списке полей выборки. Объединяемые запросы должны иметь одинаковое количество полей в списке полей выборки. Если поля выборки объединяемых запросов имеют разный тип, то поля результата запроса будут иметь составной тип. Объединение запросов описывается по следующему правилу: <Объединение запросов> ОБЪЕДИНИТЬ [ВСЕ] <Описание запроса> [<Объединение запросов>] Объединение запросов начинается с обязательного ключевого слова ОБЪЕДИНИТЬ, после которого следует описание присоединяемого запроса. Далее может присоединяться еще один запрос и т. д. По умолчанию при объединении запросов полностью одинаковые строки в результате запроса, сформированные разными запросами, заменяются одной. Если требуется, чтобы были оставлены разные строки, необходимо указать ключевое слово ВСЕ. Продам СП, Дорого (с) ДенисЧ (?) |
|||
19
Волшебник
модератор
08.10.09
✎
16:26
|
(16) Если под "умножением" понимается декартово произведение таблиц, то это вовсе не соединение.
|
|||
20
Aloex
08.10.09
✎
16:27
|
(16)...кажется.
|
|||
21
Волшебник
модератор
08.10.09
✎
16:28
|
(17) Это если ОБЪЕДИНИТЬ ВСЕ, а если просто ОБЪЕДИНИТЬ, то можно считать, что неявно добавляется РАЗЛИЧНЫЕ.
|
|||
22
tyrm
08.10.09
✎
16:29
|
(18) ДенисЧ ?
|
|||
23
КнОпка
08.10.09
✎
16:30
|
(18) умничка )
|
|||
24
acsent
08.10.09
✎
16:31
|
Человек просил образно и сам себе и ответил.
Не умеете вы образно мыслить. Все определениями да ЖКК |
|||
25
mikecool
08.10.09
✎
16:31
|
(23) (пока ВР не видит) фотку повернешь?
|
|||
26
mikecool
08.10.09
✎
16:32
|
(24) человек образно ответил неправильно, надо один раз понять и усе
|
|||
27
acsent
08.10.09
✎
16:32
|
Образно он оветил как раз правильно
|
|||
28
КнОпка
08.10.09
✎
16:32
|
(25) это тебе сказали(24)? )
|
|||
29
КнОпка
08.10.09
✎
16:34
|
(24) если проще то соединение это соединение данных а объединение это для результата. правильно? )
|
|||
30
SerMaxim
08.10.09
✎
16:35
|
Советую прочитать книжку по SQL. Возникнет понимание механизмов 1С в плане запросов, умение оптимизировать конструкции и делать выборки по-взрослому. Могу сказать то, что механизм запросов в 1С достаточно мощный, даже в сравнении Oracle
|
|||
31
acsent
08.10.09
✎
16:35
|
(29) По вертикали и по горизонтали мне больше понравилось
|
|||
32
mikecool
08.10.09
✎
16:35
|
(31) полное соединение как ни странно тоже по вертикали может...
|
|||
33
mikecool
08.10.09
✎
16:36
|
(30) вот не надо таких сравнений...
|
|||
34
acsent
08.10.09
✎
16:36
|
(32) Это же не определение )) Это визуальный образ.
|
|||
35
Живой Ископаемый
08.10.09
✎
16:36
|
||||
36
acsent
08.10.09
✎
16:37
|
(33) Плохой бы из тебя учитель получился
|
|||
37
КнОпка
08.10.09
✎
16:37
|
(31) а мне нет. (
|
|||
38
mikecool
08.10.09
✎
16:37
|
(36) я это с детства знал...
|
|||
39
acsent
08.10.09
✎
16:38
|
(37) Расскажи свой ВИЗУАЛЬНЫЙ образ
|
|||
40
mikecool
08.10.09
✎
16:39
|
(37) мне в горизонтали больше нравится, чем в вертикали ;)
|
|||
41
1c_asp
08.10.09
✎
16:40
|
(0) это вааще о чем ? про union и join что ли ?
|
|||
42
КнОпка
08.10.09
✎
16:40
|
(39) см (29) т.е. для чего именно команда служит, т.е. используется
|
|||
43
КнОпка
08.10.09
✎
16:41
|
горизонталь и вертикаль для чего? для результата так?
|
|||
44
КнОпка
08.10.09
✎
16:42
|
Вот Волшебник использует понятие декартово произведение или умножение...не понимаю. (
|
|||
45
Mitriy
08.10.09
✎
16:42
|
(43) любой вопрос для результата...
|
|||
46
Mitriy
08.10.09
✎
16:42
|
(45)* запрос
|
|||
47
acsent
08.10.09
✎
16:43
|
(44) Это уже для учеников постарше ))
|
|||
48
КнОпка
08.10.09
✎
16:43
|
(45) соединение- для источника данных например
|
|||
49
Живой Ископаемый
08.10.09
✎
16:44
|
2(44) В первой таблице - 1000 строк, во второй таблице 1000 строк... Если мы соединим обе таблицы, не указав правильно по какому полю соединять, то в рещультирующем запросе окажется 1000*1000 строк (потому что для каждой строки одной таблицы, как бы будут соответсвовать все строки второй таблицы).. Таблицы как бы перемножатся
|
|||
50
Mitriy
08.10.09
✎
16:45
|
||||
51
Живой Ископаемый
08.10.09
✎
16:45
|
Это все потому что множества и скл-запросы нужно учить в 3-5 летнем возрасте, до того как начинаешь учить сложения и вычитание, то есть арифметику.. Потому что потом эта раифметика мешает
|
|||
52
КнОпка
08.10.09
✎
16:46
|
спс
|
|||
53
acsent
08.10.09
✎
16:47
|
(51) ты в 3 года уже знал что такое множество?
|
|||
54
Живой Ископаемый
08.10.09
✎
16:47
|
2(53) Также как и ты... ты мог выделить на картинке множество яблок, и не спутал бы его со множеством берез.
|
|||
55
КнОпка
08.10.09
✎
16:47
|
(49) а если в соединение указать поле то будет просто выборка?
|
|||
56
Stim
08.10.09
✎
16:48
|
так на чем порешили-то?
|
|||
57
Mitriy
08.10.09
✎
16:49
|
(55) ты все перепутала...
|
|||
58
КнОпка
08.10.09
✎
16:49
|
мне реляционные базы мешают честно говоря (
|
|||
59
Живой Ископаемый
08.10.09
✎
16:50
|
2(55) Ну.... скажем так... в худшем случае соединение вернет декартово произведение... в лучшем случае - например 1000 строк. (если одной строке одной таблицы наша связь поставит в соответствие одну строку другой), но может быть и 2000 строк, если одной строке одной таблицы может соответсвовать 2 строки другой.. И так далее вплоть до 1000*1000... больше вроде не может быть. :)
|
|||
60
КнОпка
08.10.09
✎
16:52
|
(59) ну да- отношение один ко многим
|
|||
61
acsent
08.10.09
✎
16:52
|
(54) Это при том что у множества нет определения
|
|||
62
КнОпка
08.10.09
✎
16:53
|
(60)+ это для одной строки таблицы а так получается многие ко многим... )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |