Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 98

Сумма из разных таблиц

20.11.2015, 09:01. Показов 2993. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть 3 таблицы допустим abz1, alsh1, ask1 в них есть поля fed как вывести сумму полей fed из двух разных таблиц abz1 и alsh1 и вывести ответ в тоже поле в таблицу ask1. Пытался сделать так
SQL
1
2
3
mysql_query("UPDATE `ask1` SET `fed` =`abz1.fed` + `alsh1.fed` FROM abz1, alsh1");
$result = mysql_query("SELECT  fed FROM ask1");
$result = mysql_fetch_assoc($result);
но не получилось подскажите пожалуйста как сделать правильно.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.11.2015, 09:01
Ответы с готовыми решениями:

Сумма из 2 разных таблиц
Можно ли расчитать сумму в 2 разных гридах расположенных на одной форме

Сумма из двух разных таблиц
Здравствуйте. Есть база "Туристическая фирма", которая содержит сущности "Услуги": Название услуги, % от суммы; ...

Сумма полей 2 разных таблиц
Имеется такая БД. Как посчитать кол-во лекций, проведенных Определенным учителем, и его оклад, при том что оклад за разные лекции разный.

9
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
20.11.2015, 10:13
Цитата Сообщение от Нилок Посмотреть сообщение
как вывести сумму полей fed из двух разных таблиц abz1 и alsh1
Приведи структуру таблиц и по какому принципу суммировать (какую строку одной таблицы с какой строкой другой таблицы суммировать).
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 98
20.11.2015, 10:23  [ТС]
вот так для примера таблица создаются в полях числовые значения нужно просуммировать значения из полей fed в таблицах abz1 и alsh1 и вывести их сумму в поле fed таблицы ask1
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE `abz1` (
    `fed` VARCHAR(64), 
    PRIMARY KEY(`uid`)
);
CREATE TABLE `alsh1` (
    `fed` VARCHAR(64), 
    PRIMARY KEY(`uid`)
);
CREATE TABLE `ask1` (
    `fed` VARCHAR(64), 
    PRIMARY KEY(`uid`)
);
);
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
20.11.2015, 10:29
Цитата Сообщение от Нилок Посмотреть сообщение
нужно просуммировать значения из полей
SQL
1
2
3
4
5
6
7
8
9
10
11
SELECT SUM(fld1)
FROM
(
SELECT fld1
FROM tab1
 
UNION ALL
 
SELECT fld1
FROM tab2
)
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 98
20.11.2015, 11:47  [ТС]
Не получается так. Нужно просуммировать и вывести результат в поле другой таблицы как это можно сделать ?
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
20.11.2015, 11:58
Цитата Сообщение от Нилок Посмотреть сообщение
Нужно просуммировать и вывести результат в поле другой таблицы
Дык какие проблемы?
SQL
1
2
UPDATE tbl1100
SET fld100 = (<здесь указанный SELECT>)
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 98
20.11.2015, 15:50  [ТС]
делал вот так
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
$summm = mysql_query("SELECT SUM(fed)
FROM ask1
(
SELECT fed
FROM abz1
 
UNION ALL
 
SELECT fed
FROM alsh2
)");
$result = mysql_query("SELECT fed FROM ask1");
$result = mysql_fetch_assoc($result);
Добавлено через 3 часа 50 минут
сделал как выше написано но не получилось может что не так
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql_select_db($db);
$sum = mysql_query("UPDATE ask1
SET fed = (SELECT SUM(fed)
FROM
(
SELECT fed
FROM abz1
 
UNION ALL
 
SELECT fed
FROM alsh1
))");
$result = mysql_query("SELECT fed FROM ask1");
$result = mysql_fetch_assoc($result);
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
20.11.2015, 15:57
Цитата Сообщение от Нилок Посмотреть сообщение
но не получилось может что не так
Привыкни сначала отлаживать чисто запрос (например, из phpAdmin) и только потом пихать его в свою программу. Так ты отделишь ошибки SQL от ошибок в PHP.
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 98
23.11.2015, 07:18  [ТС]
пишу вот так
SQL
1
2
3
4
5
6
7
8
9
10
11
12
UPDATE aks1
SET ask1.fed = (SELECT SUM(fed) 
FROM
(
SELECT fed
FROM abz1
 
UNION ALL
 
SELECT fed
FROM alsh1
))
выдает ошибку #1248 - Every derived table must have its own alias не знаю как исправить уже
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
23.11.2015, 12:03
Цитата Сообщение от Нилок Посмотреть сообщение
Every derived table must have its own alias
Ну присвой таблицам алиасы, просят же
SQL
1
2
SELECT fed
FROM abz1 T1   -- T1 - это алиас для таблицы abz1
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.11.2015, 12:03
Помогаю со студенческими работами здесь

Сумма чисел из колонок 3 разных таблиц
Добрый день. Столкнулся с такой проблемой. Прога в дельфи, база в парадоксе. Есть таблицы &quot;процессоры&quot;, &quot;видеокарты&quot;,...

Сумма двух полей разных таблиц
Создаю две таблицы. В первой есть поле с количеством товаров (склад товаров) Во второй тоже есть поле количества (Накладная на прием...

Выборка и объединение из 2 разных таблиц и 2 разных полей
Подскажите, пожалуйста, как составить запрос. Мне необходимо из 2 таблиц выбрать одинаковые значения полей userid и fuserid. SELECT...

Автосинхронизация таблиц из разных баз разных структур
Стоит такая задача Есть две базы в различных СУБД серверах, база1 и база2. Необходимо реализовать такой механизм. Создать в базе1 ...

В матрице выбрать n элементов, стоящих в разных строках и разных столбцах, чтобы их сумма была минимальной
Примерный алгоритм как можно реализовать это


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru