Составление sql запроса.

программирование MySQL базы данных sql

Использую mySQL.

Запрос должен выводить остаток товаров на складе.
Структура БД:
name | amount | type |
Имя | количество | Закупка\продажа

Нашел такой вот запрос:

SELECT SUM(COUNT)
FROM(
SELECT SUM(Колво) AS COUNT FROM Регистр WHERE Магазин="Магелан" AND Операция = "Приход"
UNION
SELECT -SUM(Колво) AS COUNT FROM Регистр WHERE Магазин="Магелан" AND Операция = "Расход")

Переделанный:


SELECT SUM(COUNT)
FROM(
SELECT SUM(`sale`.`amount`) AS COUNT FROM sale WHERE (type='Закупка')
UNION
SELECT -SUM(`sale`.`amount`) AS COUNT FROM sale WHERE (type='Продажа'));

Выбивает ошибку #1248 - Every derived table must have its own alias

Мне нужно вывести такую таблицу:

name | st1 | st2(доп поля) | остаток (закупка-продажа)

=\=

Сижу уже целый час мучаю phpmyadmin и гугл. ничего толкового не вышло. Спасибо!

Примечание:
Поле st1 нужно подтянуть с 2й таблици goods. (name общее)

Примечание:
Вот вот))
SELECT SUM(if(type="Закупка",1,-1)*amount) FROM sale WHERE name="Товар№1";

Но здесь выводит только для "Товар№1". Если убрать WHERE то выводит суму по всем товарам. А мне нужно для каждого товара
Ответы:
Отпиши пожалуйста в ICQ: 15181158 или в Skype: ivan6335523, помогу даром :)).


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.