Перейти к содержимому


Сумма данных из другой таблицы


Сообщений в теме: 10

#1 Dinak

    Активный участник

  • Пользователи
  • PipPipPip
  • 207 сообщений
  • Пол:Мужчина
  • Город:Новосибирск

Отправлено 02 Октябрь 2013 - 12:32

Привет всем жителям сети )

Вопрос:
Существует две таблицы "Банк" и "Расчет", в таблице "Банк" есть поле "Сумма", а в таблице "Расчет" поле "Оплачено", при том таблица "Расчет" подчинена таблице "Банк", по полю связи "Номер Заявки".
В таблице "Банк" существуют строки с одинаковым значение поля "Номера Заявки" но разными значениями поля "Сумма"

Необходимо вычисление чтобы в поле "Оплачено" таблицы "Расчет" получать суммы полей "Сумма" разных строк с одинаковым полем "Номер Заявки" таблицы "Банк"

Пробовал подобное вычисление :

$sqlQuery = "SELECT sum(f810*f811) as summa FROM ".DATA_TABLE."74 WHERE status=0 AND f807=$ID";
$res = mysql_query($sqlQuery);
$row = mysql_fetch_array($res);
$line['Сумма'] = $row['summa'];

Но оно не подходит, прошу помочь готовым решением т.к. в PHP не рублю ( -_- :ph34r:

Сообщение отредактировал Dinak: 02 Октябрь 2013 - 12:34


#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 02 Октябрь 2013 - 13:59

Это вычисление вполне подходит, если подставить правильные id полей и таблиц.

#3 Dinak

    Активный участник

  • Пользователи
  • PipPipPip
  • 207 сообщений
  • Пол:Мужчина
  • Город:Новосибирск

Отправлено 03 Октябрь 2013 - 06:55

Теоретически то да! но фишка в том, что у меня таблицы подчинены не том порядке... чтобы получить данные в таблице "Расчет" необходимо чтобы таблица "Банк" была ей подчинена, у меня же всё наоборот! Что можно ещё придумать ?

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 03 Октябрь 2013 - 09:58

Причем тут подчиненность таблиц, не понял? Тут не подчиненность нужна, а связь между таблицами. Если у вас несколько записей из "Банк" каким-то образом ссылаются на одну и ту же запись из "Расчет", то задав нужное условие по этой связи, можно подсчитать сумму по банкам по приведенному выше алгоритму. Я просто не знаю какая именно у вас там связь и по какому полю, чтобы выдать конкретный код.

#5 Dinak

    Активный участник

  • Пользователи
  • PipPipPip
  • 207 сообщений
  • Пол:Мужчина
  • Город:Новосибирск

Отправлено 03 Октябрь 2013 - 10:26

Таблица "Расчет" подчинена Таблице "Банк" по полю "Номер Заявки" (f3961) пробую так:

$sqlQuery = "SELECT sum(f3101)(Сумма полей в таблице "Банк") as summa FROM ".DATA_TABLE."251(Таблица "Расчет") WHERE status=0 AND f3691(поле связи в Таблице "Расчет")=$ID";
$res = mysql_query($sqlQuery);
$row = mysql_fetch_array($res);
$line['Сумма'](Поле вывода в таблице "Расчет") = $row['summa'];

ХЕЛП!

Сообщение отредактировал Dinak: 03 Октябрь 2013 - 10:27


#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 03 Октябрь 2013 - 10:49

Ну тогда все верно - у вас получится сумма по всем записям из "Расчет" с одинаковым "Номер Заявки" (я просто перепутал направление связи). Что тут не так то?

#7 Dinak

    Активный участник

  • Пользователи
  • PipPipPip
  • 207 сообщений
  • Пол:Мужчина
  • Город:Новосибирск

Отправлено 03 Октябрь 2013 - 10:52

NOT WORK! Просто не робит эта формула....

#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 03 Октябрь 2013 - 11:21

Ошибки вылезают что ли? Или сумма не та? В чем конкретно выражается "not work"?

#9 Dinak

    Активный участник

  • Пользователи
  • PipPipPip
  • 207 сообщений
  • Пол:Мужчина
  • Город:Новосибирск

Отправлено 03 Октябрь 2013 - 11:26

Ошибок нет, просто не суммируется цифры, поле суммы показывает "0". Данные перепроверял и формулу тоже, единственная мысль была что я хочу получить данные из родительской таблицы в подчиненную, а не наоборот!

#10 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 03 Октябрь 2013 - 18:00

Цитата

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

Не понял, в чем смысл тогда? В основной записи как правило суммировать нечего, т.к. она одна, а подчиненных несколько. Сумму чего вы считать хотите? Выложите скриншоты что ли для примера, иначе я не понимаю вашего замысла.

#11 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 314 сообщений
  • Пол:Мужчина

Отправлено 27 Октябрь 2013 - 12:47

Просмотр сообщенияDinak (03 Октябрь 2013 - 10:26) писал:

Таблица "Расчет" подчинена Таблице "Банк" по полю "Номер Заявки" (f3961) пробую так:

$sqlQuery = "SELECT sum(f3101)(Сумма полей в таблице "Банк") as summa FROM ".DATA_TABLE."251(Таблица "Расчет") WHERE status=0 AND f3691(поле связи в Таблице "Расчет")=$ID";
$res = mysql_query($sqlQuery);
$row = mysql_fetch_array($res);
$line['Сумма'](Поле вывода в таблице "Расчет") = $row['summa'];

ХЕЛП!

А Вы ничего не путаете в своем запросе?
Вы пытаетесь посчитать сумму полей таблицы "Банк" - "...sum(f3101)(Сумма полей в таблице "Банк") as summ...", но при этом указываете таблицу "Расчет" - FROM ".DATA_TABLE."251(Таблица "Расчет")

Сообщение отредактировал maksn: 28 Октябрь 2013 - 01:21

"...Сижу, паяю. CRM починяю..."
Мои разработки





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных