2015-05-23 2 views
-1

У меня есть две таблицы,mysql запрашивает ситуацию?


OrderTable (OrderID, ordersum)


и OrderPayments (OrderID, paidamount).


OrderTable


OrderID ordersum


ORD123456 40,000.00


ORD789987 30,000.00


OrderPayments


OrderID paidamount


ORD123456 10000,00


ORD123456 20,000.00


ORD123456 10,000.00


ORD789987 28,000.00




Для того, оплата может быть произведена в рассрочку.


Я должен получить выход в


OrderID ordersum paidamount


ORD123456 40,000.00 40,000.00


ORD789987 30,000.00 28,000.00


Я сделал используя вид.

создать вид op1 как выбрать orderid, sum (paidamount) как «pamount» из группы заказов по заказу;

тогда я использовал внутренний запрос соединения b/w ordertable и представление (op1).

Я хочу, чтобы это было сделано в одном запросе, чтобы не использовать просмотр/любую другую таблицу. Возможно ли это? Предложи мне ?

ответ

0

Использовать внутренний запрос. Это пример для заявления о присоединении

select * from OrderTable 
inner join (
    select 
     orderid, sum(paidamount) as "pamount" 
    from orderpayments 
    group by orderid 
) as tmp using (orderid) 
+0

Спасибо за решение .. It Works. Но я не понял поток управления запросами, не могли бы вы объяснить мне подробно? –

+0

Что именно вы не понимаете? Запрос работает точно так же, как и с представлением, но вместо этого следует использовать вложенный запрос –

+0

. Ваш запрос был прекрасен, я получил результат. Мой вопрос заключается в том, что вы не использовали его при условии, но он работает. как запрос выполняется шаг за шагом. По идее следующий, если я получу требование, я должен написать, как вы. –

Смежные вопросы