Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Составление SQL-запросов > Проектирование БД |
Автор: WTF4XZ 5.9.2014, 07:51 |
Всем радушное приветствие! Вопрос, теоритического плана. Что бы лучше было понимать, буду задавать вопрос на основе примера: Предположим есть 4х таблицы, 2х таблицы это дочерние (справочники) и две таблицы основные Table1 ID_Table1 ; Value1_1 ; Value1_2 Table2 ID_Table2 ; Value2_1 ; Value2_2 Table3 KeyValue ; ID_table1 ; Value3_1 Table4 KeyValue ; ID_table2 ; Value4_1 Далее имеются связки 1 к несколько (т.е. для Table1 поле ID_Table1 является уникально и ключём и по нему хочу подтягивать информацию) И теперь мне надо в результате получить, внутренней обработкой в MS SQL Express 2008 R2 таблицу OutPut KeyValue ; ID_table1 ; Value3_1 ; Value1_1 ; Value1_2 ; ID_table2 ; Value4_1 ; Value2_1 ; Value2_2 По сути строится на связке из двух таблиц по полю KeyValue (таблиц Table3 и Table4) Не могу понять, как мне это получить... таблицы сделал, связки сделал а на создание итоговой таблицы не хватает идей. Потому что кол-во полей будет слишком большое (в фактической, где имеется 20х справочников и 3х основных таблицы). Может это конечно возможно обрабатывать через Query с соответствующим запросом. Но вопрос опять же теоретический, можно ли ставить в экспресе этого на планирование (думаю это будет продолжительная операция) + результат выполнения как можно хранить? Есть ли возможность это в SCV к примеру экспортировать... И как итог, понятный по выше изложенному, недостаточно в мозге данных, непонимаю куда копать... Спасибо заранее! |
Автор: Akina 5.9.2014, 10:00 |
Вот этот момент совершенно невменяем. Перефразируй так, чтобы было понятно, что имеется в виду. |
Автор: WTF4XZ 5.9.2014, 11:01 |
Akina, перефразировал через редкатирование основного поста. По сути поле KeyValue уникально, как для Table3 так и для Table4, т.е. по сути может выступать ключём для итоговой таблицу. Наверно слишком спутанно излогаю свою мысль, если на простом примере: Пусть будет, что в итоге надо получить полную информацию про лес, имея сведения про ветки и плоды, а номера деревьев уникальны и равны для двух таблиц. Table3 = ВеткиДеревьев Table4 = ПлодыДеревьев Соответственно по KeyValue = ID_Дерева я хочу сложить таблицу, которая будет выглядить как: ID_Дерева ВеткиДеревьев 1 10 3 4 ID_Дерева ПлодыДеревьев 2 8 3 1 ID_Дерева ВеткиДеревьев ПлодыДеревьев 1 10 0 2 0 8 3 4 1 Проблемность, возникла именно из за того, что в одной таблице набор ID не совпадает с ID другой таблицы (т.е. вложить недостающие записи) Думал над вариантом что разбить на две части: 1) к таблице ВеткиДеревьев добавляем столбец из ПлодыДеревьев 2) Через исключение строк, которые есть в ВеткиДеревьев записи добавляем в ПлодыДеревьев Можно ли как это это проще сделать? Так как я подумал, что лучше через доп таблицу, в которую записывать эти вещи. Собственно это и был исходный вопрос. Но может быть это можно сделать как то проще? |
Автор: WTF4XZ 5.9.2014, 14:12 |
ТоляМБА, похоже на правду, пойду проверять. Но выглядит как то, что надо, спасибо! |