create temporary table temptab
(
trans_id integer,
amount integer
)
SELECT
distinct tr.trans_id,tr.amount as my_amount
FROM transactions as tr, trans_prod as tr_pr
WHERE
tr.trans_id = tr_pr.trans_id;
SELECT
COUNT(tr_pr.prod_id) as products,
COUNT(DISTINCT tr.trans_id) as transactions,
(SELECT sum(tt.my_amount) as AMOUNT from temptab as tt) as amount
FROM TRANSACTIONS as tr, trans_prod as tr_pr
WHERE
tr.trans_id = tr_pr.trans_id
MySQL query
Допустим у мя есть две таблицы транзакции и товар_транзакция.
В транзакцию кидается полная сумма покупки.
Во вторую сохраняются номера транзакий и продуктов, которые были куплены через ту транзакцию.
Мне одним запросом нужно вытащить статистику о всех покупках. В неё входят: полная стоимость покупок, количество транзакций.
Примерно такой запрос
SELECT
COUNT(tr_pr.prod_id) as products,
COUNT(DISTINCT tr.trans_id) as transactions,
SUM(tr.Amount) as amount,
FROM TRANSACTIONS as tr, trans_prod as tr_pr
WHERE
tr.trans_id = tr_pr.trans_id
Так вот, если было по несколько товаров в одной транзакции, этот запрос прибовляет лишнюю сумму.
Цитата:
Originally posted by Новая папка
Возник вопросик.
Допустим у мя есть две таблицы транзакции и товар_транзакция.
В транзакцию кидается полная сумма покупки.
Во вторую сохраняются номера транзакий и продуктов, которые были куплены через ту транзакцию.
Мне одним запросом нужно вытащить статистику о всех покупках. В неё входят: полная стоимость покупок, количество транзакций.
Примерно такой запрос
SELECT
COUNT(tr_pr.prod_id) as products,
COUNT(DISTINCT tr.trans_id) as transactions,
SUM(tr.Amount) as amount,
FROM TRANSACTIONS as tr, trans_prod as tr_pr
WHERE
tr.trans_id = tr_pr.trans_id
Так вот, если было по несколько товаров в одной транзакции, этот запрос прибовляет лишнюю сумму.
Возник вопросик.
Допустим у мя есть две таблицы транзакции и товар_транзакция.
В транзакцию кидается полная сумма покупки.
Во вторую сохраняются номера транзакий и продуктов, которые были куплены через ту транзакцию.
Мне одним запросом нужно вытащить статистику о всех покупках. В неё входят: полная стоимость покупок, количество транзакций.
Примерно такой запрос
SELECT
COUNT(tr_pr.prod_id) as products,
COUNT(DISTINCT tr.trans_id) as transactions,
SUM(tr.Amount) as amount,
FROM TRANSACTIONS as tr, trans_prod as tr_pr
WHERE
tr.trans_id = tr_pr.trans_id
Так вот, если было по несколько товаров в одной транзакции, этот запрос прибовляет лишнюю сумму.
Тебя не затруднило бы привести структуру таблицы?
Не понятно что конкретно тебе надо, может быть это как-нибудь подойдёт?
Цитата:
Originally posted by shaelf
Тебя не затруднило бы привести структуру таблицы?
Тебя не затруднило бы привести структуру таблицы?
Хм... Вообще-то нет, потому что это уже готовый функционирующий магазин. И мне к нему надо написать статистику.
Но если честно, я не понимаю, что в этой структуре не так. Вроде нормальная обычная реляционная структура.
Цитата:
Originally posted by Новая папка
Хм... Вообще-то нет, потому что это уже готовый функционирующий магазин. И мне к нему надо написать статистику.
Но если честно, я не понимаю, что в этой структуре не так. Вроде нормальная обычная реляционная структура.
Хм... Вообще-то нет, потому что это уже готовый функционирующий магазин. И мне к нему надо написать статистику.
Но если честно, я не понимаю, что в этой структуре не так. Вроде нормальная обычная реляционная структура.
ну типа: табл. 1 столбец1 - то-то
столбец2 - то-то
табл. 2 столбец1 - то-то
столбец2 - то-то
и т.д. и т.п. Просто так легче понять:).