|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
Не пинайте сильно, еще неразобрался со всем Возможно ли в Мускуле подсчитывать сумму в столбце, т.е # БД : `gd` # ------------------------------------------------------- # Структура таблицы `klient` # CREATE TABLE klient ( id smallint(5) unsigned NOT NULL auto_increment, name char(50) NOT NULL default '', UNIQUE KEY id (id), KEY name (name) ) TYPE=MyISAM; INSERT INTO klient VALUES (1, 'ООО "Транзит"'); INSERT INTO klient VALUES (2, 'ООО "Транзит"'); # -------------------------------------------------------- # Структура таблицы `mnpz` CREATE TABLE mnpz ( id smallint(5) unsigned NOT NULL auto_increment, data date NOT NULL default '2003-06-31', gsm varchar(10) NOT NULL default '', stan varchar(60) NOT NULL default '', nn varchar(20) NOT NULL default '', netto varchar(20) NOT NULL default '0,000', vag varchar(20) NOT NULL default '', nu smallint(20) unsigned NOT NULL default '0', UNIQUE KEY id (id), KEY gsm (gsm), KEY data (data) ) TYPE=MyISAM; # Дамп данных таблицы `mnpz` INSERT INTO mnpz VALUES (3, '2003-05-06', 'А-95', 'Улыбышево', '', '29,705', '1', 1); INSERT INTO mnpz VALUES (4, '2003-05-11', 'А-95', 'Улыбышево', '', '54,904', '1', 2); Как я понимаю таблицы связаны между собой Запрос SELECT data, gsm, SUM(netto), SUM(vag) FROM mnpz WHERE 1 GROUP BY data, gsm ORDER BY data, gsm получаем таблицу I дата отгр. I гсм I Итого I вагон I -------------------------------------- I 2003-06-06 I А-95 I 29,705 I 1 I -------------------------------------- I 2003-06-11 I А-95 I 54,904 I 1 I -------------------------------------- а нужно еще столбик сложить, чтоб было в конце таблицы примерно следующее I 84,609 I 2 I одним запросом сдесь не обойтись ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2003, 17:04 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
Лучше, наверно, на клиенте суммировать итог по колонке. Так просто легче - да и при выводе данных постранично можно будет счистать итог по странице, или нарастающий итог по всем выведенным страницам. Много ресурсов это не отожрет, так что перекладывать эту задачу на сервер, наверно, нет смысла... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2003, 17:30 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
И опять все неправильно.\r Во-первых, у тебя (смотри предыдущий пост /topic/37030) есть уже таблица с типом топлива. Зачем ты его пишешь в виде varchar, а не в виде ссылки на другую таблицу?\r \r Во-вторых, netto varchar(20) NOT NULL default '0,000', - это отвратительно. netto int not null default 0. И вставляй туда не '123,567', а нормальное число - обязательно целое число твоих литров/вагонов.\r Целое потому, что для float неизбежны ошибки округления с неизвестной лдя тебя точностью.\r \r В-третьих, у тебя есть таблица с городами. Используй ссылку на города. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2003, 18:03 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
Сильно извиняюсь, с этого понедельника только ковыряю Мускуль, есть проблемы в понимании и куча вопросов. Базы были созданы до меня, вот их то и ковыряю, переделываю , чтоб все работало... но думаю к концу недели если не разберусь ... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2003, 18:34 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
2Alfa, а ты БД вообще занимался или нет? Если нет советую хоть немного почитать про реализацию реляционных БД. mahoune ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 11:01 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
2mahoune неа, т.е я пока полный лох я больше по сетям спец. вот ее и читаю, но пока плохо понимаю о чем речь. --------------------------------------------------------------- еще вопрос (по предыдущему) в чем я ошибаюсь SELECT //список выбора ctime, fuel_types.name, cities.name, prihod, rashod, ostatok //используемые таблицы FROM fuel_usage_stats, fuel_types, cities //условие WHERE fuel_types.id = fuel_usage_stats.fuel_types_id AND cities.id = fuel_usage_stats.cities_id //имя_столбца GROUP BY fuel_types_id, cities_id, ctime, fuel_types.name, cities.name //сортировать ORDER BY ctime хотелось получить --------------------------------------------------------- I дата I гсм I база I приход I расход I остаток I ---------------------------------------------------------- I 2003-06-06 I А-95 I Транзит I 0 I 0 I 100 I ---------------------------------------------------------- а получаю ------------------------------------------------------------ I дата I гсм I база I приход I расход I остаток I ------------------------------------------------------------ I 2003-06-06 I Транзит I 0 I 0 I 100 I ------------------------------------------------------------ поле fuel_types.name (гсм) принципиально не показывается, если заменить на fuel_types.id то будет показываться id, а мне надо name выводить ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 14:44 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
Поля fuel_types.id и fuel_usage_stats.fuel_types_id имеют одинаковый тип? И проиндексированы ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 14:59 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Блин. Кинь запрос создающий таблицы, и заполняющий их. Результат уже привел... А то я вообще немогу понять что ты хочешь... Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 15:00 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
2BigHarry Да конечно ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 15:48 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
2mahoune\r \r я все про первый мой вопрос <a href=/topic/37030>здесь</a>\r \r Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
\r ни как не могу понять почему не выводиться поле в HTML,\r хотя в EMS MySQL Manager`e запрос выполняется корректно\r \r и с алисами тоже не выводит (я уже так пробовал) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 15:58 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
То, что не выводится в html - это, уже, похоже другая проблема - и запрос тут непричем. Тем более - что в EMS этот запрос работает нормально. Может - что-то с разметкой? Если этот штмл посмотреть в блокноте, а не в браузере? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 16:17 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 16:22 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
дык я HTML только в блокноте пишу с разметкой все ОК твой запрос Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
ежели заменить в Код: plaintext 1. 2.
на Код: plaintext 1. 2.
все прекрасно выводиться, только в столбике 'ГСМ' вместо марки бензина - его Id в цифровом виде, вот я и не пойму по чему ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 16:24 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
А что выдает? Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 16:27 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
2mahoune так действительно работает. но почему не работало в моем варианте, и что за параметры ты применил [srс] SELECT ctime, LEFT(ft.name, 20), LEFT(c.name, 20), prihod, rashod, ostatok [/srс] ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 16:29 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
2mahoune Код: plaintext 1. 2.
Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 16:32 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
Блин! Дети и конфтеты. В песочницу вас надо. SELECT ctime, ft.name , c.name , prihod, rashod, ostatok FROM fuel_usage_stats fu, fuel_types ft, cities c WHERE ft.id = fu.fuel_types_id AND c.id = fu.cities_id GROUP BY fu.fuel_types_id, fu.cities_id, ctime, ft.name, c.name ORDER BY ctime Этот запрос даст 2 одинаковых имени столбца. Что мешает написать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 16:41 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
Всем спасибо. в выходные буду изучать Мускуль дома ... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 17:54 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
Мне опять задачку поставили Возможно или нет вытаскивать данные в сводную таблицу вида [srс] _______________________________________________________________________________________________________________________ Дата I Фирма I покуп I постав I кред I счет I кассса I дорога I магаз I вексел I База I гсм I кол-во I ----------------------------------------------------------------------------------------------------------------------- 2003-07-03 I Люкс I 110.00 I 210.00 I 310.00 I 410.00 I 510.00 I 610.00 I 710.00 I 100.00 I Антарес I А-95 I 400.000 I ----------------------------------------------------------------------------------------------------------------------- I Антарес I А-92 I 500.000 I ----------------------------------------------------------------------------------------------------------------------- 2003-07-03 IАнтаресI 100.00 I 200.00 I 300.00 I 400.00 I 500.00 I 600.00 I 700.00 I 0.00 I Антарес I А-95 I 100.000 I ----------------------------------------------------------------------------------------------------------------------- I Антарес I А-92 I 600.000 I ----------------------------------------------------------------------------------------------------------------------- [/srс] или все же выводить по отдельности [srс] CREATE DATABASE finans; USE finans; CREATE TABLE baza ( id int(4) NOT NULL auto_increment, name varchar(30) NOT NULL default '0', UNIQUE KEY id (id), UNIQUE KEY name (name), KEY name_2 (name) ) TYPE=MyISAM; CREATE TABLE firma ( id int(4) NOT NULL auto_increment, name varchar(30) NOT NULL default '0', UNIQUE KEY id (id), UNIQUE KEY name (name), KEY name_2 (name) ) TYPE=MyISAM; CREATE TABLE fuel ( id int(4) NOT NULL auto_increment, name varchar(30) NOT NULL default '', UNIQUE KEY name (name), UNIQUE KEY id (id), KEY name_2 (name) ) TYPE=MyISAM; CREATE TABLE tabl ( id int(4) NOT NULL auto_increment, ctime date NOT NULL default '2003-07-31', firma_type int(4) NOT NULL default '0', pokup char(20) NOT NULL default '0.00', post char(20) NOT NULL default '0.00', kredit char(20) NOT NULL default '0.00', schet char(20) NOT NULL default '0.00', kassa char(20) NOT NULL default '0.00', doroga char(20) NOT NULL default '0.00', mag char(20) NOT NULL default '0.00', veksel char(20) NOT NULL default '0.00', UNIQUE KEY id (id) ) TYPE=MyISAM; CREATE TABLE `tabl_1` ( `id` int(4) NOT NULL auto_increment, `ctime` date NOT NULL default '2003-06-31', `firma_type` int(4) NOT NULL default '0', `baza_type` int(4) NOT NULL default '0', `fuel_type` int(4) NOT NULL default '0', `kol_vo` double(20,3) NOT NULL default '0.000', UNIQUE KEY `id` (`id`) ) TYPE=MyISAM INSERT INTO baza VALUES (1, 'Антарес'); INSERT INTO baza VALUES (2, 'Бологое'); INSERT INTO firma VALUES (1, 'АЭРО'); INSERT INTO firma VALUES (2, 'Люкс'); INSERT INTO fuel VALUES (1, 'А-95'); INSERT INTO fuel VALUES (2, 'А-92'); INSERT INTO tabl VALUES (1, '2003-07-03', 1, '100.00', '200.00', '300.00', '400.00', '500.00', '600.00', '700.00', '0.00'); INSERT INTO tabl VALUES (2, '2003-07-03', 2, '110.00', '210.00', '310.00', '410.00', '510.00', '610.00', '710.00', '100.00'); INSERT INTO tabl_1 VALUES (1, '2003-07-03', 1, 2, 1, '100.000'); INSERT INTO tabl_1 VALUES (2, '2003-07-03', 1, 2, 2, '600.000'); INSERT INTO tabl_1 VALUES (3, '2003-07-03', 2, 2, 1, '400.000'); INSERT INTO tabl_1 VALUES (4, '2003-07-03', 2, 2, 2, '500.000'); [/src] ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2003, 12:41 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
а по каккому полю тебя tabl и tabl_1 связаны.. я чего разглядеть не могу ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2003, 16:43 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
tabl и tabl_1 вообще не связаны у них есть одинаковые поля ctime и firma_type, по ним нельзя осуществлять выборку? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2003, 17:25 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
Смысл такой, что тебе надо использовать LEFT JOIN, и для записей итоговых писать пустые значения, используя IF, IS NULL и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2003, 17:47 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
ctime - плохой выбор конечно.... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2003, 17:48 |
|
Снова вопрос к Гуру
|
|||
---|---|---|---|
#18+
А LEFT JOIN здеся вряд ли нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2003, 17:50 |
|
|
start [/forum/topic.php?fid=47&fpage=705&tid=1855932]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 171ms |
0 / 0 |