|
Не совсем понятна конструкция запроса
| ☑ |
0
Антиквар
02.09.13
✎
23:37
|
Мне не совсем понятна конструкция запроса, когда в разделе "ИЗ" (источник данных) идет перечисление двух таблиц, не связанных между собой. Например:
ВЫБРАТЬ
Поле1,
Поле2,
.........
ИЗ
РегистрСведений1,
РегистрСведений2
В конкретном примере видел вместо РегистрСведений2 другой запрос, возвращающий всего одну цифру. И эта цифра участвует потом в расчете полей выбора. Но ведь легче этот запрос написать отдельно, получить цифру и передавать её в качестве параметра.
Но наверное такая конструкция придумана не только для этого, второй источник данных может возвращать и таблицу.
Кто с этим разбирался, подскажите как это работает.
|
|
1
RomanYS
02.09.13
✎
23:44
|
каждая запись первой таблицы соединяется с каждой записью второй
равносильно полное соединение по ИСТИНА
|
|
2
giallo
02.09.13
✎
23:49
|
(1) не полное, а внутреннее
|
|
3
RomanYS
02.09.13
✎
23:53
|
(2) не вижу разницы в данном случае
|
|
4
giallo
02.09.13
✎
23:57
|
(3) разница в том, что если в одной из таблиц (0) не будет записей то результат запроса будет пустым, а при полном соединении будут записи из другой таблицы
|
|
5
Reaper_1c
03.09.13
✎
01:16
|
|
|
6
Антиквар
03.09.13
✎
09:24
|
(5) применительно к 1С Вы дали ссылку на полное соединение.
Дак всё-таки полное или внутреннее?
Хотя если это чисто упрощение записи, то лучше всегда прямо прописывать тип соединения.
Т.е. в моем случае можно написать так:
ИЗ
РегистрСведений1
ПОЛНОЕ СОЕДИННИЕ РегистрСведений2
ПО ИСТИНА
Ну или не полное, а внутреннее, зависит от задач.
|
|
7
mzelensky
03.09.13
✎
09:28
|
(0)(6) это будет внутреннее соединение, а не полное.
|
|
8
mzelensky
03.09.13
✎
09:29
|
(0) а вообще это косяк. Не стоит так писать.
|
|
9
Rie
03.09.13
✎
09:30
|
(6) "полное соединение" и "прямое соединение" - это две больших разницы.
|
|
10
fisher
03.09.13
✎
11:14
|
(8) Почему косяк?
|
|