2013-08-01 10 views
1

나는 해외 학생이기 때문에 "Credit System"에 익숙하지 않지만 관련 데이터베이스 질문이 있습니다. 나는 그것을 잘 이해하지 못했습니다. 여기고객 크레딧 시스템, 오라클 SQL

그 질문 : 이 과금 책임자는 고객이 자신의 신용 한도를 초과 현재 알고 싶습니다 :

쿼리를 작성합니다.

데이터베이스의 스키마는 다음과 같습니다

Sales_Rep (SLSRep_Number [pk], Last, First, Street, City, State, Post_Code, 
Total_Commission, Commission_Rate) 
Customer (Customer_Number [pk], Last, First, Street, City, State, Post_Code, 
Balance, Credit_Limit, SLSRep_Number [fk]) 
Orders (Order_Number [pk], Order_Date, Customer_Number [fk]) 
Part (Part_Number [pk], Part_Description, Units_on_Hand, Item_Class, Warehouse_Number, Unit_Price) 
Order_Line (Order_Number, [pk1] Part_Number [pk2], Number_Ordered, Quoted_Price) 

어떤 생각?

Select customer_number,last,first,balance,credit_limit 
from customer 
where balance > credit_limit; 

또는 수 있습니다 :

그냥인가요

select * from 
    (select mytable.customer_number,sum(mytable.number_ordered*mytable.quoted_price) as customer_cost from 
     (select customer.customer_number,order_line.number_ordered,order_line.quoted_price 
     from customer,orders,order_line 
     where customer.customer_number = orders.customer_number 
     and orders.order_number = order_line.order_number) mytable 
    group by mytable.customer_number) mytable2,customer 
where customer.credit_limit < mytable2.customer_cost 
and customer.customer_number = mytable2.customer_number; 
+0

영어가 좋지 않다고 생각하지 않으므로 댓글을 삭제했습니다. ;) – Romesh

답변

0

첫 번째 쿼리가 맞다, 그것은 신용 한도를 넘어 균형을 가지고 고객을 줄 것이다.

+0

은 '잔액'이 고객의 신용 한도와 비교할 금액을 보유한다고 가정합니다. –