Вверх ↑
Этот топик читают: Гость
Ответов: 186
Рейтинг: 9
#421: 2010-07-15 11:28:37 ЛС | профиль | цитата
Вот мой проект в недалеком прошлом http://www.hiasm.com/forum_serv.php?q=56&id=1592
Пример подобного плана имеется?
Не обращай внимание что там все сделано через таблица, сейчас перевожу все на запросы.
Там главная таблица Материалы, при нажатии на нее, все и происходит.

------------ Дoбавленo в 11.28:
Подскажите можно ли округлить данный запрос SELECT AVG (otp) FROM resurs WHERE kodres="%1" AND otp<>"" AND otp<>"0"
НЕ знаю куда ROUND запихать???
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#422: 2010-07-15 14:08:32 ЛС | профиль | цитата
Chipset, ты меня извини...
Chipset писал(а):
Там главная таблица Материалы

Для начала.
1. Таблица МАТЕРИАЛЫ. 33050 записей и ещё могут добавляться.
2. Таблица МАТЕРИАЛЫ. что за единица измерения ? ДА 5-9, площадь 0,45 м2, ДА 5-10, площадь 0,50 м2

Дальше читай, если делаешь прогу для людей (а не для себя.)
Сгруппируй материалы (Трубы, Муфты, Гвозди, Болты, Доски, Плитка, Краска, Кирпич и т.д.) .
Для этого создай таблицу Group(id INTEGER PRIMARY KEY, name TEXT) (от силы 1000-2000 записей),
в таблицу MatBaz добавь колонку Groups. Надеюсь понял.

Оператору подсовываешь список групп в ComboBox, оператор выбирает группу, например Доски, и у него в таблице Материалы всего 10-15 записей, а не все 35 тысяч.

Да, кстати, "Кирпич" можешь по LIKE (да и по не найти. Кто будет знать, что первая буква "К" латинская
Примечание
"Не надо делать много ошибок. Нужно сделать одну, а потом CopyPaste".
Что ты и сделал. Кирпичей пять таких есть.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:Chipset
Ответов: 186
Рейтинг: 9
#423: 2010-07-15 17:41:49 ЛС | профиль | цитата
1. Да скорей всего ожидается что база будет рости до 100000 ресурсов.
Дальше читай, если делаешь прогу для людей (а не для себя.)
Сгруппируй материалы (Трубы, Муфты, Гвозди, Болты, Доски, Плитка, Краска, Кирпич и т.д.) .
Для этого создай таблицу Group(id INTEGER PRIMARY KEY, name TEXT) (от силы 1000-2000 записей),
в таблицу MatBaz добавь колонку Groups. Надеюсь понял.

Оператору подсовываешь список групп в ComboBox, оператор выбирает группу, например Доски, и у него в таблице Материалы всего 10-15 записей, а не все 35 тысяч.


Совет принят, пойдет в реализацию.

2. По данной базе ресурсов ведется стройка по всей России, кроме Москвы конечно. Это так называемые ресурсы для ТЕР.
А по косякам вопрос передам, просто не я её в XLS делаю.

За оперативность как всегда РЕСПЕКТ

И все таки, можно ли округлить данный запрос SELECT AVG (otp) FROM resurs WHERE kodres="%1" AND otp<>"" AND otp<>"0"
НЕ знаю куда ROUND запихать???
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#424: 2010-07-15 19:44:06 ЛС | профиль | цитата
Chipset писал(а):
можно ли округлить данный запрос
не запрос, а результат запроса. Да, запросто.
Так до двух знаков

SELECT round(avg(otp),2) FROM resurs WHERE kodres="%1" AND otp<>"" AND otp<>"0" 
или так

SELECT round(avg(otp)) FROM resurs WHERE kodres="%1" AND otp<>"" AND otp<>"0" 

------------ Дoбавленo в 19.27:

------------ Дoбавленo в 19.44:

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 186
Рейтинг: 9
#425: 2010-07-15 20:16:57 ЛС | профиль | цитата
Я что только не придумывал.
  • SELECT round(otp,2) avg(otp) FROM resurs WHERE kodres="%1" AND otp<>"" AND otp<>"0"
  • округяет "%1"
  • SELECT round( avg(otp) FROM resurs WHERE kodres="%1" AND otp<>"" AND otp<>"0",2)
  • Тогда еще вопрос. Есть проблема в базе с ","! Некоторые расчеты плывут!?
    Из XLS экспорт с "," . Можено сделать и в XLS. Только эспорт 1 таблицы из 33000 строк, занимает 40 минут, а таблиц 5.
    Сделал утилиту по замене "." ","[url] http://hiasm.com/forum_serv.php?q=56&id=1595[/url], скоро она будет посчитывать Среднюю по всей таблице.
    Либо в схеме Add Replace повтыкать?
  • карма: 0

    0
    Ответов: 16884
    Рейтинг: 1239
    #426: 2010-07-15 23:29:36 ЛС | профиль | цитата
    Округлять нужно
    Tad писал(а):
    не запрос, а результат запроса
    а результаты запроса у тебя между словами SELECT и FROM.
    ------------ Дoбавленo в 23.29:
    Tad писал(а):
    Сгруппируй материалы (Трубы, Муфты, Гвозди, Болты, Доски, Плитка, Краска, Кирпич и т.д.) .
    Тем более, что у тебя это все есть в MatBaz. Вот вытащил оттуда.
    И всего-то 4000 строк (правда можно ещё сократить)
    карма: 25
    Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
    0
    файлы: 1group.rar [52.9KB] [330]
    Ответов: 1891
    Рейтинг: 110
    #427: 2010-07-16 13:16:43 ЛС | профиль | цитата
    Chipset, писал(а):
    Только эспорт 1 таблицы из 33000 строк, занимает 40 минут, а таблиц 5


    Chipset, ты через чего экспортируешь?
    карма: 0
    %time%
    0
    Ответов: 186
    Рейтинг: 9
    #428: 2010-07-18 14:13:43 ЛС | профиль | цитата
    Alexbootch,
    Я уже писал, пользуюсь http://sqliteadmin.orbmu2k.de/
    карма: 0

    0
    Ответов: 16884
    Рейтинг: 1239
    #429: 2010-07-18 21:17:19 ЛС | профиль | цитата
    Chipset, вот перенос из csv в db с заменой "," на "."
    карма: 25
    Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
    0
    файлы: 1csvindbmatbaz.sha [3.3KB] [273]
    Ответов: 138
    Рейтинг: 8
    #430: 2010-07-18 23:19:38 ЛС | профиль | цитата
    Хочу очистить таблицу, не получается выполнить запрос: TRUNCATE TABLE `Имя_Таблицы`, выдаёт: near "truncate": syntax error. Как можно, это исправить?
    карма: 0

    0
    Ответов: 16884
    Рейтинг: 1239
    #431: 2010-07-18 23:41:32 ЛС | профиль | цитата
    
    DELETE FROM Имя_Таблицы
    карма: 25
    Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
    0
    Ответов: 138
    Рейтинг: 8
    #432: 2010-07-19 00:11:10 ЛС | профиль | цитата
    Tad, так и сделал, сначала удалил потом создал. Наверное в sqlite нет TRUNCATE TABLE
    карма: 0

    0
    Ответов: 186
    Рейтинг: 9
    #433: 2010-07-19 05:28:23 ЛС | профиль | цитата
    Chipset, вот перенос из csv в db с заменой "," на "."

    Tad, Спасибо.
    Разберу ка, твою схему по кусочкам
    карма: 0

    0
    Ответов: 16884
    Рейтинг: 1239
    #434: 2010-07-19 09:26:39 ЛС | профиль | цитата
    VAD писал(а):
    так и сделал, сначала удалил потом создал.

    DROP TABLE Имя_Таблицы - удаляет всю таблицу. После этой команды нужно создавать таблицу по новой.
    TRUNCATE TABLE в SQLite, как таковой, нет, но если применяется
    DELETE FROM Имя_Таблицы (без WHERE ), то работает по алгоритму TRUNCATE TABLE ,
    А если DELETE FROM Имя_Таблицы WHERE Условие то работает в режиме DELETE
    карма: 25
    Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
    1
    Голосовали:VAD
    Ответов: 138
    Рейтинг: 8
    #435: 2010-07-20 01:22:18 ЛС | профиль | цитата
    Tad, Всё понял, спасибо
    карма: 0

    0
    Сообщение
    ...
    Прикрепленные файлы
    (файлы не залиты)