我目前正在为我的网上购物中心设计一个数据库表。要具体说明问题,我目前有:
orders表:包含
- order\_id
- total order price
- order status (e.g. shipped, delivered, refunded)
- orderer information such as address, zipcode and phone number
产品表:包含
- product\_id
- price
- stock quantity, and etc
由于一个订单可以包含多个产品,并且一个产品可以包含在不同的订单中,所
我有以下模式:
产品
id: int pk ai
title: string
available: int
left: int
阶
id: int pk ai
status: int
OrderItem
id: int pk ai
order_id: int fk Order.id
product_id: int fk Product.id
amount: int
因此,当购买产品时,就会创建一个订单,其中包含一个或多个订单项。命令的状态指示订单是否已完成。
我需要更新所有产品的“左”字段。它应该通过对具有特定状态的订单(例如,order_items )
在这种情况下,我需要计算同一列的连续两行之间的差异。这是我的桌子,名为“订单”结构。
orderid type productsales
1002 Order 120
1002 Refund -35
1003 Order 199
1003 Refund -50
1004 Order 245
1005 Order 80
现在,我只选择那些订单类型的“orderids”和“退款”之间的“产品销售”差异大于0的记录。
我有两个父级子表和几个辅助表。我在努力找出他们之间的正确关系。
Orders ,一个包含订单列表的表,包括:Order Id, Supplier, Order Date等。
OrderDetails,表包含已订购产品的列表,是订单的子级,在OrderId上链接。关键字段是ProductId and the Quantity Ordered。每个订单包含一个或多个OrderDetails,概述所订购的产品和数量。
发运,一个包含Tracking Number and Shipper在内的发货列表的表。通过订单Id链接到命令。一份订单可能有多批货。例如,我订购了100个灯泡。他们分5
我有两张桌子:
ordersorderItems
保存在表订单字段total上的每个订单的总和(产品价格总计)。我需要连接这两个表,并从orders表中保存的值中获取总和和计数,下面是一个示例
SELECT
count(orders.id), sum(orders.total)
FROM
orders
INNER JOIN orderItems ON orderItems.order_no = orders.order_no
AND orders.order_no LIKE 'P%' AND orderItems.pCode IN ('1'
我下面有两张桌子
create table Order(
OrderId int primary key auto_increment,
UserId int not null,
OrderDate date not null,
IsPaid boolean default false,
(...Reference statement for UserId...)
);
create table OrderProduct(
OrderId int not null,
ProductName varcahr(1024) not null,
con