블로그 이미지
Magic_kit
study 관련자료를 한곳으로 자기 개발 목적으로 재태크 재무 관리 목적으로 일상생활의 팁을 공유 하기 위하여 블로그를 개설 하였습니다.

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
반응형

Category

Recent Post

Recent Comment

Archive

2009. 9. 25. 17:13 .Net Project/WindowServer2008
반응형
고객 상세정보 & 회원 로그인
 [17] 고객 상세정보 : 회원리스트 (회원정보, 관리자 페이지)
----------------------------------------------------------------------
Create Procedure CustomerDetail
(
     @CustomerID Int
)
As
    Select Top 1 * --모든것 출력
 From
       Customers 
       Inner Join MemberShip On Customers.CustomerID = 
       MemberShip.CustomerID
Where
     Customers.CustomerID = @CustomerID
Go
----------------------------------------------------------------------
[18] 회원 로그인
----------------------------------------------------------------------
Create Procedure CustomerLogin
(
    @UserID VarChar(50),
    @Password VarChar(50),
    @CustomerID Int Output
)
As
   Select
        @CustomerID = CustomerID
   From
        MemberShip
   Where
        UserID = @UserID
 And
        PassWord = @Password
 
 IF @@ROWCOUNT < 1
 Select 
    @CustomerID = 0
Go

주문 추가
 [19] 주문 추가 : CheckOut.aspx에서 사용
----------------------------------------------------------------------

Create Procedure OrderAdd
(
    @CustomerID Int,
    @OrderDate DateTime,
    @ShipDate DateTime,
    @TotalPrice Int,
    @OrderStatus VarChar(20),
    @Payment VarChar(20),
    @PaymentPrice Int,
    @PaymentInfo VarChar(20),
    @PaymentEndDate DateTime,
    @DeliveryInfo Int,
    @DeliveryStatus VarChar(20),
    @DeliveryEndDate DateTime,
    @OrderIP VarChar(15),
    @Password VarChar(20),
 
--위 내용은 Orders 테이블에
    @CartID  VarChar(50),
 --위 내용은 ShoppingCart와 조인걸어서 OrderDetails 테이블에
    @Message VarChar(50),
 --위 내용은 Message
    @CustomerName VarChar(50),
    @TelePhone VarChar(20),
    @MobilePhone VarChar(20),
    @ZipCode VarChar(7),
    @Address VarChar(100),
    @AddressDetail VarChar(50),
 --위 내용은 Delivery
    @OrderID Int Output
)
As
   Begin Tran AddOrder
 
 --[1] Orders 테이블에 관련 정보 기록
 Insert Into Orders
 (
    CustomerID,
    OrderDate,
    ShipDate,
    TotalPrice,
    OrderStatus,
    Payment,
    PaymentPrice,
    PaymentInfo,
    PaymentEnddate,
    DeliveryStatus,
    DeliveryEndDate,
    OrderIP,
    Password
 )
 Values
 (  
    @CustomerID,
    @OrderDate,
    @ShipDate,
    @TotalPrice,
    @OrderStatus,
    @Payment,
    @PaymentPrice,
    @PaymentInfo,
    @PaymentEnddate,
    @DeliveryStatus,
    @DeliveryEndDate,
    @OrderIP,
    @Password 
 )  
 Select
    @OrderID = @@IDENTITY --현재 바로 주문된 OrderID값 가져오기
  
 --[2] 현재 주문번호와 현재 쇼핑 카트 내용을 OrdersDetail 테이블로 저장
 Insert Into OrderDetails
 (
    OrderID,
    ProductID,
    Quantity,
    SellPrice,
    Price,
    Mileage
 )
 Select @OrderID, ShoppingCart.ProductID, Quantity, Products.SellPrice,
   (Products.SellPrice * ShoppingCart.Quantity) As Price,
   Products.Mileage
 From
  ShoppingCart Inner Join Products
  On ShoppingCart.ProductID = Products.ProductID
 Where
    CartID = @CartID 
  
--[3] 주문 실행 후 현재 카트 아이디에 해당하는 쇼핑카트 내용 지우기 
Exec ShoppingCartEmpty @CartId
   
--[4] 남기고 싶은말 저장 
Insert Into Message
 (
       OrderID, Message
 )
 Values
 (
    @OrderID, @Message
 )

 --[5]Delivery 테이블에 관련 정보 기록
 Insert Into Delivery
 (
    OrderID, CustomerName,
    TelePhone, MobilePhone,
    ZipCode, Address, AddressDetail
 )
 Values
 (
    @OrderID, @CustomerName,
    @TelePhone, @MobilePhone,
    @ZipCode, @Address, @AddressDetail
 )
    Commit Tran Addorder
Go 


 [20] 주문 리스트(회원) : OrderList.aspx
 ---------------------------------------------------------------------

Create Procedure OrderList
(
   @CustomerID Int

As
   Select
     Orders.OrderID,
     CAST(Sum(OrderDetails.Quantity * OrderDetails.SellPrice) As Int)
   As TotalPrice,
     Orders.OrderDate,
     Orders.ShipDate
 From
     Orders
 Inner Join OrderDetails On Orders.OrderID = OrderDetails.OrderID
 Group By
     CustomerID,
     Orders.OrderID,
     Orders.OrderDate,
     Orders.ShipDate
 Having
     Orders.CustomerID = @CustomerID
Go
---------------------------------------------------------------------
[21]주문 리스트(비회원)
---------------------------------------------------------------------
create Procedure OrdersListNonCustomer
(
 @OrderID Int, --주문번호
 @Password VarChar(20) --비밀번호

As
 Select
  Orders.OrderID,
  CAST(Sum(OrderDetails.Quantity * OrderDetails.SellPrice) As Int)
   As TotalPrice,
  Orders.OrderDate,
  Orders.ShipDate
 From
  Orders
 Inner Join OrderDetails On Orders.OrderID = OrderDetails.OrderID
 Group By
  Password,
  Orders.OrderID,
  Orders.OrderDate,
  Orders.ShipDate
 Having
  Orders.OrderID = @OrderID And Orders.Password = @Password
Go

 [22] 주문상세 : 특정 주문에 몇개의 제품들을 몇개씩 구매했는지 정보
----------------------------------------------------------------------

Create Procedure OrdersDetail
(
    @OrderID Int,
    @OrderDate DateTime Output,
    @ShipDate DateTime Output,
    @TotalPrice Int Output
)
As
 --[1] 현재 고객에 대한 주문일과 배송일에 대한 정보값을 반환
 Select @OrderDate = OrderDate, @ShipDate = ShipDate
 From Orders
 Where OrderID = @OrderID
 
 IF @@ROWCOUNT = 1
 Begin

 --[2] 처음으로 총 가격을 Output 매개변수 반환
 Select @TotalPrice = CAST(sum(OrderDetails.Quantity *   
              OrderDetails.SellPrice) As Int)
              From OrderDetails
              Where OrderID = @OrderID
 
 --[3] 그런다음, 주문 상세 정보값 반환
 Select
      Products.ProductID, Products.ModelName,
      Products.ModelNumber, OrderDetails.SellPrice, 
      OrderDetails.Quantity, 
    (OrderDetails.Quantity * OrderDetails.SellPrice) As ExtendedAmount
 From
    OrderDetails
    Inner Join Products On OrderDetails.ProductID = Products.ProductID
 Where
    OrderID = @OrderID
 End
Go   

고객이 이미 구입한 상품
--[23] 고객이 이미 구입한 상품 : AlsoBought.aspx
Create Procedure CustomeAlsoBought
(
    @ProductID Int
)
As
    Select Top 5
    OrderDetails.ProductID,
    Products.ModelName,
    SUM(OrderDetails.Quantity) as TotalNum
 From
    OrderDetails
    Inner Join Products On OrderDetails.ProductID = Products.ProductID
    Where OrderID IN
 (
  --ProductID에 해당하는 모든 주문에 대한 OrderID 값 반환 
    Select Distinct OrderID 
    From OrderDetails
    Where ProductID = @ProductID
 ) 
    And OrderDetails.ProductID <> @ProductID
    Group By OrderDetails.ProductID, Products.ModelName
    Order By TotalNum Desc
Go  









반응형
posted by Magic_kit