Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запрос. Связь таблиц по полям составного типа данных
|
|||
|---|---|---|---|
|
#18+
1-ая таблица1: поле1_1(составной тип данных:Справочник1, Справочник2), поле1_2(какое-то число, всегда не NULL) 2-ая таблица2: поле2_1(составной тип данных аналогично поле1_1), поле2_1(какое-то число, всегда не NULL). Справочник1 и Справочник2 связаны реквизитом. Нужно гарантировано состыковать таблицы по поле1_1 = поле2_1, чтобы не было значений NULL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 11:07 |
|
||
|
Запрос. Связь таблиц по полям составного типа данных
|
|||
|---|---|---|---|
|
#18+
Если не указать в запросе режим соеденения ЛЕВОЕ|ПРАВОЕ|ПОЛНОЕ ВНЕШНЕЕ , то получите необходимый результат. Если не указать, то (из справки): [ВНУТРЕННЕЕ] СОЕДИНЕНИЕ означает, что из обеих исходных таблиц – источников данных в результат запроса необходимо включить только те комбинации записей, которые соответствуют указанному условию. Остальные записи в результат не попадают. Ключевое слова ВНУТРЕНЕЕ можно не указывать вообще, оно повышает наглядность и удобочитаемость текста запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 11:18 |
|
||
|
Запрос. Связь таблиц по полям составного типа данных
|
|||
|---|---|---|---|
|
#18+
Сделал внутреннее соединение - вообще пустая выборка. Объясню более подробно, у меня 1-ая таблица содержит количество планируемого объема работы по полю ТС (составной тип данных: Справочник.ТранспортныеСредства или Справочник.МодельТС), 2-ая таблица содержит нормы расхода ГСМ, где измерение ТС также составного типа(Справочник.ТранспортныеСредства или Справочник.МодельТС). Оба справочника ТранспортныеСредства или МодельТС связаны реквизитом. Т.е. получается если в 1-й таблице выбрано ТС, а во 2-й таблице нормы установлены на Модель, то как составить запрос, чтобы он в любом случае установил соответствие и взял норму расхода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 11:37 |
|
||
|
Запрос. Связь таблиц по полям составного типа данных
|
|||
|---|---|---|---|
|
#18+
выбрать Таб1.Поле1 как Справочник1, Таб1.Поле2 как Число1, Таб2.Поле1 как Справочник2, Таб2.Поле2 как Число2 из Таб1 внутреннее соединение Таб2 по Выразить(Таб1.Поле1 как Справочник.Справочник1).Реквизит= Выразить(Таб2.Поле1 как Справочник.Справочник2).Реквизит ... через Выразить приводим Поле1 к нужному виду справочника ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 11:38 |
|
||
|
Запрос. Связь таблиц по полям составного типа данных
|
|||
|---|---|---|---|
|
#18+
Справочник1 связан со Справочник2 реквизитом Рек1(тип СправочникСсылка.Справочник2). Тогда в условии сцепления пишу так: по Выразить(Таб1.Поле1 как Справочник.Справочник1).Рек1= Выразить(Таб2.Поле1 как Справочник.Справочник2).Ссылка Работает, но получается теперь наоборот, для тех случаев когда типы совпадают(поле1_1 = Справочник1 и поле1_1=Справочник1), возвращает NULL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 12:24 |
|
||
|
Запрос. Связь таблиц по полям составного типа данных
|
|||
|---|---|---|---|
|
#18+
Rudge, Для ссылки (ссылок) не надо писать выразить. ... = Выразить(Таб2.Поле1 как Справочник.Справочник2).Ссылка , это можно заменить на ... = Таб2.Поле1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 12:45 |
|
||
|
Запрос. Связь таблиц по полям составного типа данных
|
|||
|---|---|---|---|
|
#18+
RudgeСправочник1 связан со Справочник2 реквизитом Рек1(тип СправочникСсылка.Справочник2). Тогда в условии сцепления пишу так: по Выразить(Таб1.Поле1 как Справочник.Справочник1).Рек1= Выразить(Таб2.Поле1 как Справочник.Справочник2).Ссылка Работает, но получается теперь наоборот, для тех случаев когда типы совпадают(поле1_1 = Справочник1 и поле1_1=Справочник1), возвращает NULL. Точнее такой строки нет в результате? Используйте ОБЪЕДЕНИТЬ и указывайте разные условия объеденения или в условии объединения используйте ВЫБОР. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 13:03 |
|
||
|
Запрос. Связь таблиц по полям составного типа данных
|
|||
|---|---|---|---|
|
#18+
Спасибо всем. Объединил и упростил, теперь выводит то, что нужно. ВЫБРАТЬ <...> по Выразить(Таб1.Поле1_1 как Справочник.Справочник1).Рек1= Таб2.Поле2_1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ <...> по Таб1.Поле1_1 = Таб2.Поле2_1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 13:54 |
|
||
|
Запрос. Связь таблиц по полям составного типа данных
|
|||
|---|---|---|---|
|
#18+
Rudge, можно упростить ваш запрос ВЫБРАТЬ <...> по Выразить(Таб1.Поле1_1 как Справочник.Справочник1).Рек1= Таб2.Поле2_1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ <...> по Таб1.Поле1_1 = Таб2.Поле2_1 -------------------------- ВЫБРАТЬ <...> по Выразить(Таб1.Поле1_1 как Справочник.Справочник1).Рек1= Таб2.Поле2_1 или Таб1.Поле1_1 = Таб2.Поле2_1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 14:08 |
|
||
|
|

start [/forum/topic.php?fid=28&fpage=57&tid=1520353]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 262ms |
| total: | 409ms |

| 0 / 0 |
