2014-09-18 3 views
0

Я хотел бы вернуть кучу столбцов и добавить один из них.
Таблица:
OrderID
OrderNum
Сумма
SQL Adding Within Statment

Я хотел бы вернуть ИД_заказа, количество и сумму в размере одного OrderId. Что-то вроде так (КодЗаказа - OrderNum - Сумма - Total):

  • 1 - O1 - $ 4 - $ 10
  • 1 - O1 - $ 3 - $ 10
  • 1 - O1 - $ 3 - $ 10
  • 2 - О2 - $ 4 - $ 8
  • 2 - О2 - $ 3 - $ 8
  • 2 - О2 - $ 1 - $ 8

Благодаря.

ответ

0

В Oracle можно использовать оконные функции:

SELECT 
    OrderID, 
    OrderNum, 
    Amount , 
    SUM(Amount) OVER (PARTITION BY OrderID) as Total 
FROM OrderLine 
+0

Работал, как шарм, спасибо. – user3245120

0
select t1.orderid, t1.amount, t2.sum_amount 
from your_table t1 
join 
( 
    select orderid, sum(amount) as sum_amount 
    from your_table 
    group by orderid 
) t2 on t1.orderid = t2.orderid 
+0

Просто из любопытства, где же t2 взялось? Либо у меня есть слепота утром, либо вытащили псевдоним из воздуха – brianforan

+1

Начало последней строки: 't2 на t1.orderid = t2.orderid'. 't2' является псевдонимом для подзапроса –

+0

Итак, t2 является псевдонимом для этих трех строк? – brianforan