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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вычисляемый столбец. 
:(
    Опции темы
CLSAMG
Дата 15.10.2010, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем Доброго времени суток!
Вопрос следующий.
Соединив две таблицы Tr1 и Tr2 необходимо добавить вычисляемый столбец.
С соединением я справился, а вот со столбцом возникли проблемы.
Вот мой запрос для создание вычисляемого столбца:
Код

ALTER TABLE Tr1
ADD Cena_pere COMPUTED(CENA_CHAS*VR_PUTI) 


Выдает ошибку СТОЛБЕЦ CENA_CHAS неизвестен.
Столбец CENA_CHAS находится в таблице Tr2, как записать запрос??

PM MAIL ICQ Skype   Вверх
Frees
Дата 15.10.2010, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 2
Всего: 54



не надо так делать!!
вычислять столбец лучше только из тех полей которые в этой же таблице, иначе надо делать SELECT и только потом вычислять(не рекомендуют так делать)

лучше создать view


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Akina
Дата 15.10.2010, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Полный текст проблемного запроса - в студию. По ошмёткам ничего сказать нельзя.
И структуру таблиц на всякий случай - тоже сюда.

Цитата(CLSAMG @  15.10.2010,  12:28 Найти цитируемый пост)
Вот мой запрос для создание вычисляемого столбца:

Это запрос на создание вычисляемого ПОЛЯ.
А добавление вычисляемого поля в таблицу... это какая СУБД? она вообще такое поддерживает?



Это сообщение отредактировал(а) Akina - 15.10.2010, 11:51


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

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


Чо?
****


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

Репутация: 53
Всего: 161



Цитата(Frees @  15.10.2010,  11:42 Найти цитируемый пост)
лучше создать view

Это не общий случай. 
Это частный, хотя и применим в 99,99(9)% случаев.
Основной бенефит вычисляемого столбца - он может быть индексирован, по нему могут строиться отношения/*не везде и не всегда*/, он может использоваться как ключ секционирования/*не везде и не всегда*/. 
Однако ж с тобой я согласен. Из старта топа не следует, что ТС действительно нужен вычисляемый столбец.

Цитата(Akina @  15.10.2010,  11:49 Найти цитируемый пост)
А добавление вычисляемого поля в таблицу... это какая СУБД? 

оракля умеет, ms тоже. Cудя по синтаксису, у ТС - MS. Или твой вопрос был о другом?

Это сообщение отредактировал(а) Zloxa - 15.10.2010, 12:47


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 15.10.2010, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Zloxa @  15.10.2010,  13:19 Найти цитируемый пост)
Или твой вопрос был о другом? 

Судя по проблеме - он хочет в таблицу добавить вычисляемый столбец, для вычисления которого используется поле другой таблицы.
Думаю, такое вообще ни одна СУБД не умеет. Даже FK2FK constraint не поможет...


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

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


Чо?
****


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

Репутация: 53
Всего: 161



Цитата(Akina @  15.10.2010,  12:31 Найти цитируемый пост)
он хочет в таблицу добавить вычисляемый столбец, для вычисления которого используется поле другой таблицы.

А мне показалось что он слил содержимое двух таблиц в одну.
Будем ждать от него разъяснений.

Цитата(Akina @  15.10.2010,  12:31 Найти цитируемый пост)
Думаю, такое вообще ни одна СУБД не умеет

Да. Я думаю так же.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Frees
Дата 15.10.2010, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 2
Всего: 54



Цитата(Akina @  15.10.2010,  15:31 Найти цитируемый пост)
Судя по проблеме - он хочет в таблицу добавить вычисляемый столбец, для вычисления которого используется поле другой таблицы.Думаю, такое вообще ни одна СУБД не умеет. Даже FK2FK constraint не поможет...

в fb можно но не рекомендуется




--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
CLSAMG
Дата 15.10.2010, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Zloxa @  15.10.2010,  13:19 Найти цитируемый пост)
Судя по проблеме - он хочет в таблицу добавить вычисляемый столбец, для вычисления которого используется поле другой таблицы.

Да именно так, правильно мыслите! smile
Посоветуйте как быть? Лучше будет если все поля будут находиться в одной таблице, да?
Поправьте меня если я не прав.
PM MAIL ICQ Skype   Вверх
Zloxa
Дата 15.10.2010, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

Репутация: 53
Всего: 161



Цитата(CLSAMG @  15.10.2010,  14:21 Найти цитируемый пост)
Посоветуйте как быть? 

1)будьте аккуратнее с цитированием.
2)перечитайте внимательно первый и второй ответы

Добавлено через 2 минуты и 3 секунды
Точно и детально опишите проблему


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
CLSAMG
Дата 15.10.2010, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Создать две таблицы tr1 и tr2 
Таблица Tr1 имеет столцы:
1)vid типvarchar;
2)nazn тип varchar;
3)otpr тип varchar;
4)vr_pt тип integer.

Таблица Tr2 имеет столбцы:
1)vid тип varchar;
2)vr_otpr тип integer;
3)cena_chas тип integer.

Соединить две таблицы по столбцу vid, подсчитать стоимость перевозки(Cena_chas*vr_puti).

Так понятно??
PM MAIL ICQ Skype   Вверх
Akina
Дата 15.10.2010, 15:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Так считай в запросе. Или во вьюхе. Нахрена в таблицу-то это пихать?




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

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


Эксперт
****


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

Репутация: 2
Всего: 54



Код

SELECT T1.VID,
       T1.NAZN,
       T1.OTPR,
       T1.VR_PT,
       T2.CENA_CHAS*T1.VR_PT
FROM TR1 T1
 JOIN TR2 T2 ON T2.VID = T1.VID




--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
CLSAMG
Дата 15.10.2010, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Akina требование к выполнению такие!
Frees Спасибо огромное!smile
PM MAIL ICQ Skype   Вверх
Akina
Дата 15.10.2010, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



 smile 


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

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




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


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

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