Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Вычисление сумм и нескольких таблиц

Сообщения:  [1-4] 

 
 автор: cheops   (30.01.2006 в 14:41)   письмо автору
 
   для: LO   (30.01.2006 в 13:48)
 

NULL можно получить лишь для одной из таблиц при помощи левого объединения (JOIN LEFT), для второго уже не получится, но в любом случае с NULL дело иметь не выйдет - любые арифмитические операции с NULL имеют результатом NULL.

   
 
 автор: LO   (30.01.2006 в 13:48)   письмо автору
 
   для: cheops   (30.01.2006 в 13:34)
 

Ну тогда встречный вопрос:
Как сделать запрос вычисляя непремено уже разность суммы, пусть по оперделенному u_id и mfo?

SUM(table1.summa) - SUM(table2.summa)

будет ли правильно выводиться результат, если для одной из таблиц не будет данных по условию

   
 
 автор: cheops   (30.01.2006 в 13:34)   письмо автору
 
   для: LO   (30.01.2006 в 11:58)
 

Хм... лучше сразу делайте два запроса - проблем будет значительно меньше... Скорее всего результат всегда будет ошибочным, так как группировать можно будет только по mfo одной из таблиц...

   
 
 автор: LO   (30.01.2006 в 11:58)   письмо автору
 
 

У меня есть две таблицы table1 и table2.
Структура таблицы 'table1'

CREATE TABLE 'table1' (
  'i_id' int(10) unsigned NOT NULL auto_increment,
  'u_id' int(10) unsigned NOT NULL default '0',
  'summa' float(10,2) NOT NULL default '0.00',
  'mfo' varchar(5) collate cp1251_ukrainian_ci NOT NULL default '',
  PRIMARY KEY  ('i_id')
)

Структура таблицы 'table2'

CREATE TABLE 'table2' (
  'p_id' int(10) unsigned NOT NULL auto_increment,
  'u_id' int(10) unsigned NOT NULL default '0',
  'summa' float(10,2) NOT NULL default '0.00',
  'mfo' varchar(5) collate cp1251_ukrainian_ci NOT NULL default '',
  PRIMARY KEY  ('p_id')
)

Мне нужно получить разность сумм из этих таблиц по определенноу u_id и mfo. Но я бы хотела сделать запрос, в котором сразу отображался результат по всем mfo и необязательно разность сумм, а хотябы просто суммы. Что-то вроде

mfo  SUM(table1.summa)  SUM(table2.summa)
1       11.11              22.22
2       NULL               33.33
3       44.44              NULL
5       45.23              123.40

NULL означает, что нет данных, но хотелось бы чтоб выводилось 0.00
Вобщем, не знаю, как решить данную проблему.
P.S.
Из одной таблицы запрос сделать легко
SELECT  p.mfo, SUM(p.summa)
FROM 'table2' as p
where p.u_id='5'
group by p.mfo

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования