Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проектирование БД, MS SQL Express 2008 R2 
V
    Опции темы
WTF4XZ
  Дата 5.9.2014, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 16.4.2007
Где: 63 Самара

Репутация: нет
Всего: 5



Всем радушное приветствие!

Вопрос, теоритического плана.

Что бы лучше было понимать, буду задавать вопрос на основе примера:

Предположим есть 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 к примеру экспортировать...

И как итог, понятный по выше изложенному, недостаточно в мозге данных, непонимаю куда копать...


Спасибо заранее!

Это сообщение отредактировал(а) WTF4XZ - 5.9.2014, 10:43
--------------------
Я создание эмоций, создание способные чувствовать не только эмоции людей но и машин.Я EMO_CODER != FALSE;Никто не знает о нас, но мы есть, мы живём, мы кодим и мы... чувствуем, ипспытываем такие эмоции.. сильнее любого бинарника, мощнее любого ассемблера.
PM MAIL ICQ GTalk Jabber   Вверх
Akina
Дата 5.9.2014, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Цитата(WTF4XZ @  5.9.2014,  08:51 Найти цитируемый пост)
на связке из двух таблиц по relation полей KeyValue.

Вот этот момент совершенно невменяем. Перефразируй так, чтобы было понятно, что имеется в виду.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
WTF4XZ
Дата 5.9.2014, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 16.4.2007
Где: 63 Самара

Репутация: нет
Всего: 5



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) Через исключение строк, которые есть в ВеткиДеревьев записи добавляем в ПлодыДеревьев

Можно ли как это это проще сделать? Так как я подумал, что лучше через доп таблицу, в которую записывать эти вещи.
Собственно это и был исходный вопрос.

Но может быть это можно сделать как то проще?
--------------------
Я создание эмоций, создание способные чувствовать не только эмоции людей но и машин.Я EMO_CODER != FALSE;Никто не знает о нас, но мы есть, мы живём, мы кодим и мы... чувствуем, ипспытываем такие эмоции.. сильнее любого бинарника, мощнее любого ассемблера.
PM MAIL ICQ GTalk Jabber   Вверх
ТоляМБА
Дата 5.9.2014, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 4
Всего: 252



Цитата(WTF4XZ @  5.9.2014,  13:01 Найти цитируемый пост)
ID_Дерева   ВеткиДеревьев
   1                        10
   3                        4

ID_Дерева    ПлодыДеревьев
   2                       8
   3                       1

ID_Дерева   ВеткиДеревьев   ПлодыДеревьев
   1                        10                     0
   2                        0                       8
   3                        4                       1


Код
SELECT        dbo.Table_ID.ID, ISNULL(dbo.Table_Tree.TreeValue, 0) AS Tree, ISNULL(dbo.Table_Twig.TwigValue, 0) AS Twig
FROM            dbo.Table_ID LEFT OUTER JOIN
                         dbo.Table_Twig ON dbo.Table_ID.ID = dbo.Table_Twig.ID LEFT OUTER JOIN
                         dbo.Table_Tree ON dbo.Table_ID.ID = dbo.Table_Tree.ID
ORDER BY dbo.Table_ID.ID

PM   Вверх
WTF4XZ
Дата 5.9.2014, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 16.4.2007
Где: 63 Самара

Репутация: нет
Всего: 5



ТоляМБА, похоже на правду, пойду проверять. Но выглядит как то, что надо, спасибо!
--------------------
Я создание эмоций, создание способные чувствовать не только эмоции людей но и машин.Я EMO_CODER != FALSE;Никто не знает о нас, но мы есть, мы живём, мы кодим и мы... чувствуем, ипспытываем такие эмоции.. сильнее любого бинарника, мощнее любого ассемблера.
PM MAIL ICQ GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0580 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.