Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Веб-программирование > PHP / MySQL

PHP / MySQL Создание динамических Веб-ресурсов

Ответ
 
Опции темы
Старый 20.03.2011, 20:40   #1
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Проблема с вычисляемым столбцом в SQL

Есть таблица, в ней столбец "Количество".
Надо в вычисляемом столбце найти долю.
Пишем [Количество] / SUM([Количество])
Внезапно получаем Ошибка при проверке формулы для столбца "Доля".
Разные варианты скобок, кавычек, mod вместо деления и т.п. пробовал.
(Offline)
 
Ответить с цитированием
Старый 20.03.2011, 21:43   #2
cyberblut
Знающий
 
Регистрация: 14.06.2009
Сообщений: 338
Написано 139 полезных сообщений
(для 257 пользователей)
Ответ: Проблема с вычисляемым столбцом в SQL

а мона весь запрос?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Randomize (20.03.2011)
Старый 21.03.2011, 11:55   #3
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Проблема с вычисляемым столбцом в SQL

Пока еще не запрос. Я в СУБД создаю таблицу.
(Offline)
 
Ответить с цитированием
Старый 21.03.2011, 12:00   #4
cyberblut
Знающий
 
Регистрация: 14.06.2009
Сообщений: 338
Написано 139 полезных сообщений
(для 257 пользователей)
Ответ: Проблема с вычисляемым столбцом в SQL

Сообщение от cherepets Посмотреть сообщение
Пока еще не запрос. Я в СУБД создаю таблицу.
Силой мысли создаёшь?
(Offline)
 
Ответить с цитированием
Старый 21.03.2011, 22:45   #5
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Проблема с вычисляемым столбцом в SQL

Не силой мысли, а средствами СУБД.
Вот в виде запроса:
CREATE TABLE [dbo].[Персонал](
    [
ID_перс] [intIDENTITY(1,1NOT NULL,
    [
Должность] [nchar](10NOT NULL,
    [
Количество] [intNOT NULL,
    [
Доля]  AS ([Количество] / SUM([Количество]))
ON [PRIMARY
(Offline)
 
Ответить с цитированием
Старый 21.03.2011, 23:29   #6
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Проблема с вычисляемым столбцом в SQL

Не совсем понял чего ты добиваешься этой строкой.
 [Доля]  AS ([Количество] / SUM([Количество]))
Ты не можешь использовать так. Если тебе нужен запрос из этой таблицы, то ты должен её создать сперва, затем уже делать запросы (SELECT).
(Offline)
 
Ответить с цитированием
Старый 22.03.2011, 00:06   #7
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Проблема с вычисляемым столбцом в SQL

Нет. Мне нужен в таблице столбец, который будет вычисляться по формуле.
(Offline)
 
Ответить с цитированием
Старый 22.03.2011, 00:11   #8
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Проблема с вычисляемым столбцом в SQL

То есть когда вводишь данные, он будет изменять их автоматически?
Тебе нужны тогда триггеры.
(Offline)
 
Ответить с цитированием
Старый 22.03.2011, 00:45   #9
HAMANN
Нуждающийся
 
Аватар для HAMANN
 
Регистрация: 05.08.2008
Сообщений: 73
Написано 11 полезных сообщений
(для 24 пользователей)
Сомневаюсь что изменять нужно когда вводишь. SUM([Количество]) меняется с каждым добавлением, значит и вычислять долю нужно с каждым SELECT

вот например у меня таблица `some_table`:

ID | kolvo
-----------

SELECT 
some_table
.*, 
some_table.kolvo / `SUM_TBL`.`SUM` as Dolya

FROM 
some_table
,
(
    
SELECT SUM(some_table.kolvo) as `SUMFROM some_table
) as `SUM_TBL
Миниатюры
Нажмите на изображение для увеличения
Название: scr.png
Просмотров: 1107
Размер:	50.1 Кб
ID:	13053  
(Offline)
 
Ответить с цитированием
Старый 22.03.2011, 11:06   #10
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Проблема с вычисляемым столбцом в SQL

Т.е. нельзя добавить такой столбец в ту же таблицу?
(Offline)
 
Ответить с цитированием
Старый 22.03.2011, 12:14   #11
HAMANN
Нуждающийся
 
Аватар для HAMANN
 
Регистрация: 05.08.2008
Сообщений: 73
Написано 11 полезных сообщений
(для 24 пользователей)
Ответ: Проблема с вычисляемым столбцом в SQL

Это не Exel. Тут в ячейку нельзя забить формулу. Она не будет динамической. Выход только считать долю во время выборки
(Offline)
 
Ответить с цитированием
Старый 22.03.2011, 12:57   #12
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Проблема с вычисляемым столбцом в SQL

Просто формулу можно. Видимо нельзя забить именно формулу, которая работает не только с текущей строкой.
Печально, ну ладно, сделаю запросом...
(Offline)
 
Ответить с цитированием
Старый 22.03.2011, 12:58   #13
cyberblut
Знающий
 
Регистрация: 14.06.2009
Сообщений: 338
Написано 139 полезных сообщений
(для 257 пользователей)
Ответ: Проблема с вычисляемым столбцом в SQL

Я вот понять не могу, триггеры из другой религии или как? Что за СУБД? Только не говори, что Access
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Randomize (22.03.2011)
Старый 22.03.2011, 22:12   #14
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Проблема с вычисляемым столбцом в SQL

Не Access. MSSQL.
Триггеры нельзя. Я для универа делаю задание и приходится использовать то, что в задании указано.
(Offline)
 
Ответить с цитированием
Старый 23.03.2011, 01:29   #15
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Проблема с вычисляемым столбцом в SQL

Тогда используй temporary tables. Что в задании указано, сделать в один запрос? Или как?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 10:13.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com