0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 17
1

Неправильно выводит суммы двух разных столбцов

08.03.2014, 16:28. Показов 3154. Ответов 34
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста. Как подсчитать сумму двух разных столбцов из двух разных таблиц.

table1
+----+--------+
| id | field1 |
+----+--------+
| 1 | 500 |
| 2 | 500 |
| 3 | 500 |
| 4 | 500 |
+-----+-------

table1
+----+-------+
| id | field2 |
+----+-------+
| 1 | 50 |
| 2 | 100 |
+-----+-------
SQL
1
2
3
4
SELECT
 SUM(table1.field1) AS sum1,
 SUM(table2.field2) AS sum2
 FROM table1,table2;
Сумму показывает неправильно в двух столбцах.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.03.2014, 16:28
Ответы с готовыми решениями:

Код сравнения двух разных столбцов
нужна помощь к коде есть сравнения двух столбцов на разных столбцов но ну меня ошибка 9 помогите...

Сравнение двух столбцов из разных книг
Здравствуйте глубокоуважаемые... Нужна помощь в написании VBA скрипта... Вообщем есть 2 книги...

Сложение двух столбцов из разных таблиц
Есть таблица Отели(Id, Название, Тип, Класс, Цена, Тип питания) и есть таблица Питание(Id,Питание,...

Сравнение двух столбцов из разных файлов
Доброго времени суток! Не геракл в VBA, но возникла такая потребность: Есть 2 абсолютно...

34
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
17.03.2014, 18:55 21
Author24 — интернет-сервис помощи студентам
Это ранее было: если в таблице есть дубли ключа, нужна предварительная группировка по ключу с суммированием данных. В случае текстовых данных - непонятно, что суммировать...

А сложность конструкции запроса... Посмотрите другие реализации FULL JOIN для MySQL, может попроще окажется...
0
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 17
13.04.2014, 23:06  [ТС] 22
Посмотрел другие реализации JOIN, получился вариант, который наиболее всего подходит, без ВРЕМЕННОЙ таблицы- это главное. Пример.. Как видно из примера, первая таблица хранит дату(календарь). Вопрос, как реализовать эту таблицу- необходимо, что бы автоматически, каждый день создавалась дата? Именно по ней будет синхронизироваться вывод других таблиц?
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
14.04.2014, 01:25 23
Цитата Сообщение от irobor Посмотреть сообщение
первая таблица хранит дату(календарь). Вопрос, как реализовать эту таблицу
Один раз сделать таблицу от издавна до вдальнемерянно
Места она занимает немного, а полезна зело

При большом оптимизме можно озаботиться пролонгацией на следующее тысячелетие при достижении конца текущего
0
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 17
14.04.2014, 07:01  [ТС] 24
Цитата Сообщение от cygapb-007 Посмотреть сообщение
Один раз сделать таблицу от издавна до вдальнемерянно
От момента создания таблицы и до сегодняшнего дня.
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
14.04.2014, 08:21 25
Цитата Сообщение от irobor Посмотреть сообщение
От момента создания таблицы и до сегодняшнего дня.
Почему так?
Нет, календарь делается от первой обрабатываемой даты (например, от 01.01.2000) до последней разумной даты (например, до 31.12.2050).
В этом диапазоне 50 лет X 365 дней = 18250 строк - вообще копейки для любого SQL-сервера
0
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 17
14.04.2014, 11:22  [ТС] 26
Я так понимаю LEFT JOIN будет выводить NULL до 2050 года?
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
14.04.2014, 13:21 27
Цитата Сообщение от irobor Посмотреть сообщение
Я так понимаю LEFT JOIN будет выводить NULL до 2050 года?
Будет.
Если фильтром пользоваться не умеете.
Например, where date between '20140101' and '20140331'
0
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 17
14.04.2014, 17:57  [ТС] 28
Хорошо, помогите такую таблицу сделать.
Смысл заключается в том, что все остальные таблицы выводятся согласно первой, где хранится дата. С момента создания таблицы прошло 3 дня, значит там должно быть три записи(три даты по порядку), а в других таблицах может и не быть записей. Существует ли в MYSQL возможность создания даты в автоматическом режиме, но только одной записи(даты), раз в сутки?
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
14.04.2014, 19:22 29
Цитата Сообщение от irobor Посмотреть сообщение
Хорошо, помогите такую таблицу сделать.
Как-то так http://sqlfiddle.com/#!2/de664/1...
MySQL
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
create table temp(n int);
insert temp
   select 0 n union all select 1 union all select 2 union all 
   select 3 union all select 4 union all select 5 union all 
   select 6 union all select 7 union all select 8 union all select 9;
 
create table Calendar(dt datetime primary key);
insert Calendar (dt)
   select FROM_DAYS(720000+a.n*10000+b.n*1000+c.n*100+d.n*10+e.n)
   from temp a, temp b, temp c, temp d, temp e
   order by a.n,b.n,c.n,d.n,e.n
   limit 30000;
drop table temp;
 
-- Календарь создан, далее примеры использования
select min(dt), max(dt), count(*) from Calendar;
 
select c.dt, t.* 
  from myTable t
  right join Calendar c on c.dt=t.date 
  where c.dt between '2014-01-10' and '2014-01-20';
 
select c.dt, t.* 
  from Calendar c 
  left join myTable t on t.date = c.dt
  where c.dt between '2024-12-28' and '2024-12-31';
 
drop table Calendar;
0
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 17
14.04.2014, 23:15  [ТС] 30
это очень сложный вариант. Можно какой нибудь простой вариант придумать? К примеру:
id Дата 
1 01-01-2014 
2 02-01-2014 
3 03-01-2014 
4 05-01-2014 
5 06-01-2014 
6 07-01-2014 
Чтобы дата каждый день создавалась сама.
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
14.04.2014, 23:28 31
Цитата Сообщение от irobor Посмотреть сообщение
это очень сложный вариант
Это делается один раз, затем просто используется.

Что посоветовать проще - я не знаю.
0
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 17
15.04.2014, 12:30  [ТС] 32
Просто календарь формируется в запросе, а как я буду к этой таблице применять LEFT JOIN?
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
15.04.2014, 14:06 33
Цитата Сообщение от irobor Посмотреть сообщение
Просто календарь формируется в запросе
Зачем????
Календарь формируется один раз навсегда

Потом просто используется в самых разных запросах наравне с другими содержательными таблицами
0
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 17
15.04.2014, 22:02  [ТС] 34
А зачем дропать таблицу temp?
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
16.04.2014, 00:18 35
Цитата Сообщение от irobor Посмотреть сообщение
А зачем дропать таблицу temp?
Это временная таблица, необходимая для генерации весьма большого количества строк в календаре.
После формирования календаря необходимость ее хранения отпадает.
0
16.04.2014, 00:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2014, 00:18
Помогаю со студенческими работами здесь

Сравнение двух столбцов в разных файлах
добрый день есть два файла экселя каждый из 5 столбцов Наименование столбцов одинаковые но...

Разница двух столбцов разных таблиц
Помогите пожалуйста Есть две таблицы, которые подключаются через ADO, отражаются в DBGrid1 и 2...

Объединение двух столбцов разных таблиц
Даны две тыблицы нужно обьединить два столбца в один: SELECT t.name, t_t.name FROM t, t_t WHERE...

Сравнить данные двух столбцов разных книг
Есть 2 книги, в них n-ое количество данных: Необходимо: 1. сравнить данные 2-х столбцов из разных...

Сравнение и распределение двух столбцов на разных листах
Всем привет! Задача довольно банальна: сравнить столбец "Идентификационный номер (2)" на 2-м листе...

Запрос для двух столбцов в разных таблицах
Запрос для двух столбцов в разных таблицах. Есть табл1 с полем а1 и а2 табл2 с полем а1 и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru