Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Формула Excel на языке SQL - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Формула Excel на языке SQL (Word)
Формула Excel на языке SQL
drinklab Дата: Среда, 22.04.2015, 17:49 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
День добрый помогите пожалуйста советом или решением , суть проблемы такая есть формулы в Excel

Код
=A1&"/"&B1&"-"&C1&"/"&G1&"/"&L1
- просто собирает из разных строк значения и формирует уникальный номер на основе этих значений.(344/Барс-2014/2/А)
Чтобы в определенную ячейку таблицы "стекались" дынные из 5 ячеек и формировали уникальный номер.

и формула
Код
=ЕСЛИ((W1)>0;V1-W1-X1;0)
- выполняет условие если W1 больше нуля, то происходит вычисление, иначе 0.

Вопрос, как эти две формулы реализовать с помощью SQL?
Суть всего проекта в том что нужно таблицу Excel перенести в БД SQL, с этим проблем нет. Но в Excel есть формулы и как их запрограммировать на в SQL глухой лес %)

Может есть какое то средство переноса формул из Excel в SQL -запросы?
[moder]Формулы оформляйте тегами (кнопка fx)


Сообщение отредактировал drinklab - Четверг, 23.04.2015, 10:43
 
Ответить
СообщениеДень добрый помогите пожалуйста советом или решением , суть проблемы такая есть формулы в Excel

Код
=A1&"/"&B1&"-"&C1&"/"&G1&"/"&L1
- просто собирает из разных строк значения и формирует уникальный номер на основе этих значений.(344/Барс-2014/2/А)
Чтобы в определенную ячейку таблицы "стекались" дынные из 5 ячеек и формировали уникальный номер.

и формула
Код
=ЕСЛИ((W1)>0;V1-W1-X1;0)
- выполняет условие если W1 больше нуля, то происходит вычисление, иначе 0.

Вопрос, как эти две формулы реализовать с помощью SQL?
Суть всего проекта в том что нужно таблицу Excel перенести в БД SQL, с этим проблем нет. Но в Excel есть формулы и как их запрограммировать на в SQL глухой лес %)

Может есть какое то средство переноса формул из Excel в SQL -запросы?
[moder]Формулы оформляйте тегами (кнопка fx)

Автор - drinklab
Дата добавления - 22.04.2015 в 17:49
RAN Дата: Среда, 22.04.2015, 18:03 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Вопрос весьма странный.
Что, в SQL формулы Excel работают?
Или нужно что-то другое?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВопрос весьма странный.
Что, в SQL формулы Excel работают?
Или нужно что-то другое?

Автор - RAN
Дата добавления - 22.04.2015 в 18:03
Rioran Дата: Среда, 22.04.2015, 18:45 | Сообщение № 3
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
drinklab, здравствуйте.

У SQL немного другая логика работы, чем у Excel. SQL работает с базами данных, которые являются хранилищем для чисел, дат и текстовых строк. Для обеспечения максимальной скорости получения данных, в таких хранилищах никаких формул быть не должно. Все расчёты должны проходить либо при вставке значений в таблицу, либо при выгрузке значений в отдельных столбцах. В Вашем случае Вам достаточно перенести логику расчётов на формирование нужных столбцов.

1). Уникальный определитель строки. В SQL он по умолчанию присваивается каждой строке. Можно задать его явно и тогда он будет формироваться автоматически. Это будет некоторое число. Если же Вам нужен именно Ваш определитель - загуглите/найдите конкретный оператор конкатенации для Вашей версии SQL.

2). Проверка условия. Язык запросов SQL позволяет проверять условия. Тут Вам тоже нужно обратиться к документации именно Вашего SQL и выбрать подходящий вариант. Скорее всего это будет какая-либо форма операторов IF, CASE или SWITCH.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
Сообщениеdrinklab, здравствуйте.

У SQL немного другая логика работы, чем у Excel. SQL работает с базами данных, которые являются хранилищем для чисел, дат и текстовых строк. Для обеспечения максимальной скорости получения данных, в таких хранилищах никаких формул быть не должно. Все расчёты должны проходить либо при вставке значений в таблицу, либо при выгрузке значений в отдельных столбцах. В Вашем случае Вам достаточно перенести логику расчётов на формирование нужных столбцов.

1). Уникальный определитель строки. В SQL он по умолчанию присваивается каждой строке. Можно задать его явно и тогда он будет формироваться автоматически. Это будет некоторое число. Если же Вам нужен именно Ваш определитель - загуглите/найдите конкретный оператор конкатенации для Вашей версии SQL.

2). Проверка условия. Язык запросов SQL позволяет проверять условия. Тут Вам тоже нужно обратиться к документации именно Вашего SQL и выбрать подходящий вариант. Скорее всего это будет какая-либо форма операторов IF, CASE или SWITCH.

Автор - Rioran
Дата добавления - 22.04.2015 в 18:45
drinklab Дата: Четверг, 23.04.2015, 10:17 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
вот я и думаю, по сути в БД SQL хранятся статические таблицы, и как передавать в эту же таблица результат вычислений не понятно.

Суть в том еще что пользователь будет работать с этой БД через вьюху и будет заполнять поля 1,2,3..10 и ему в этой же вьюхе нужно отобразить ячейку 11 с вычислением значений ячеек аля (1+2+3) я не знаю возможно ли реализовать такое с помощью SQL или нужно прикручивать допы? типо php и др...

Цитата
В Вашем случае Вам достаточно перенести логику расчётов на формирование нужных столбцов.


подскажите на каком этапе ее нужно реализовывать?
на этапе постройки запроса?

тут смысл в том что пользователь будет работать с ячейками БД через вьюху(пока стандартную для работы с БД SQL), тоесть выборки ни какие не будут происходить... пользователю нужно добавлять ручками данные в несколько ячеек, а другие ячейки должны автоматически формироваться в ту же таблицу БД с помощью определенной логики..
мой опыт в SQL не сильно богатый, уровень запросов, интересует вообще такое реально сделать с помощью стандартных средств SQL синтаксиса... или нужно типо писать свою вьюху в которую будет уже тянуться значения из БД и уже на уровне толстого клиента производить расчеты для нужных ячеек и передавать их обратно в БД?


Сообщение отредактировал drinklab - Четверг, 23.04.2015, 10:47
 
Ответить
Сообщениевот я и думаю, по сути в БД SQL хранятся статические таблицы, и как передавать в эту же таблица результат вычислений не понятно.

Суть в том еще что пользователь будет работать с этой БД через вьюху и будет заполнять поля 1,2,3..10 и ему в этой же вьюхе нужно отобразить ячейку 11 с вычислением значений ячеек аля (1+2+3) я не знаю возможно ли реализовать такое с помощью SQL или нужно прикручивать допы? типо php и др...

Цитата
В Вашем случае Вам достаточно перенести логику расчётов на формирование нужных столбцов.


подскажите на каком этапе ее нужно реализовывать?
на этапе постройки запроса?

тут смысл в том что пользователь будет работать с ячейками БД через вьюху(пока стандартную для работы с БД SQL), тоесть выборки ни какие не будут происходить... пользователю нужно добавлять ручками данные в несколько ячеек, а другие ячейки должны автоматически формироваться в ту же таблицу БД с помощью определенной логики..
мой опыт в SQL не сильно богатый, уровень запросов, интересует вообще такое реально сделать с помощью стандартных средств SQL синтаксиса... или нужно типо писать свою вьюху в которую будет уже тянуться значения из БД и уже на уровне толстого клиента производить расчеты для нужных ячеек и передавать их обратно в БД?

Автор - drinklab
Дата добавления - 23.04.2015 в 10:17
PowerBoy Дата: Четверг, 23.04.2015, 12:49 | Сообщение № 5
Группа: Проверенные
Ранг: Участник
Сообщений: 100
Репутация: 31 ±
Замечаний: 0% ±

2003
и уже на уровне толстого клиента производить расчеты для нужных ячеек и передавать их обратно в БД?


Да, в форме ввода добавляют вычисляемые поля, при окончании редактирования их сохраняют уже в базу.


Excel + SQL = ActiveTables (http://vk.com/ExcelSQL)
 
Ответить
Сообщение
и уже на уровне толстого клиента производить расчеты для нужных ячеек и передавать их обратно в БД?


Да, в форме ввода добавляют вычисляемые поля, при окончании редактирования их сохраняют уже в базу.

Автор - PowerBoy
Дата добавления - 23.04.2015 в 12:49
drinklab Дата: Четверг, 23.04.2015, 13:50 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
понял, спасибо за ответы. Помогите пожалуйста написать SQL запросы:

первый - допустим есть стока A1,A2,A3(типы данных в ячейках SMALLINT UNSIGNED,ENUM,VARCHAR).... как написать запрос чтобы он брал значения ячеек A1(теплый),A2(добрый),A3(слон), A4(и) и выводил их в одну строку аля result="A1/A4/A2/A3"("теплый и добрый слон").

второй запрос - есть ячейки A1(2),A2(15),A3(32)(тип данных DECIMAL (16, 4) UNSIGNED) тут будут только числа ,необходим запрос который будет вычитать из A3 значение ячейки A2 и A1 например 32-2-15 = выводит 15.
Спасибо заранее за ответы и посылы в нужном направлении ;)
[moder]Это другой вопрос, который нужно задать вот здесь
http://www.excelworld.ru/forum/4
 
Ответить
Сообщениепонял, спасибо за ответы. Помогите пожалуйста написать SQL запросы:

первый - допустим есть стока A1,A2,A3(типы данных в ячейках SMALLINT UNSIGNED,ENUM,VARCHAR).... как написать запрос чтобы он брал значения ячеек A1(теплый),A2(добрый),A3(слон), A4(и) и выводил их в одну строку аля result="A1/A4/A2/A3"("теплый и добрый слон").

второй запрос - есть ячейки A1(2),A2(15),A3(32)(тип данных DECIMAL (16, 4) UNSIGNED) тут будут только числа ,необходим запрос который будет вычитать из A3 значение ячейки A2 и A1 например 32-2-15 = выводит 15.
Спасибо заранее за ответы и посылы в нужном направлении ;)
[moder]Это другой вопрос, который нужно задать вот здесь
http://www.excelworld.ru/forum/4

Автор - drinklab
Дата добавления - 23.04.2015 в 13:50
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Формула Excel на языке SQL (Word)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!