0

如果您看到我以前的帖子,请多多关照。它是“封闭的”,因为它是开放式的。

我拥有的是汽车销售员和客户的三表系统。这是在模仿一个非常简单的汽车销售系统。

Car Table 中包含以下字段:

注册: 品牌: 型号: 购买日期: 客户 ID: 销售员 ID: 销售日期: 购买日期: 价格:

或销售人员进行的每笔销售,他们将根据下表赚取佣金:

Car Price(£)        % Commission

0-5000          5
5000-10000          6
10000-15000         7
15000+          8

汽车始终以汽车详细信息表中指定的价格出售。

我是否将表格内某处的佣金率(并自动计算)r 作为单独的表格。

如果我要将其存储在 Car Table 中,我将如何让数据库自动计算佣金并将其放入表中,以便在汽车售出时?

谢谢

4

1 回答 1

0

从编程上讲,最简单的解决方案是创建一个包含 4 个字段的 COMMISSION 表:Id_Commission、Nr_Commission_Min_Value、Nr_Commission_Max_Value、Nr_Commission_Percent

然后,您将调用一个 select 语句,例如(在 mysql 中测试和工作,其 tsql 与 msaccess 非常非常相似):

SELECT DISTINCT Id_Car, Car.Ds_Car_Description, Car.Nr_Car_Price, Commission.Nr_Commission_Percent * Car.Nr_Car_Price / 100 As Commission_Payable FROM Car LEFT JOIN Commission ON (Car.Nr_Car_Price BETWEEN Commission.Nr_Commission_Min_Value AND Commission.Nr_Commission_Max_Value) WHERE Car.Ic_Car_Sold = 1 ORDER BY Car.Nr_Car_Price DESC

下面是用于创建和填充这些表的 sql。

CREATE TABLE IF NOT EXISTS Commission (
  Id_Commision int(11) NOT NULL,
  Nr_Commission_Min_Value double NOT NULL,
  Nr_Commission_Max_Value double NOT NULL,
  Nr_Commission_Percent double NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

INSERT INTO Commission (Id_Commision, Nr_Commission_Min_Value, Nr_Commission_Max_Value, Nr_Commission_Percent) VALUES

(0, 0, 5000, 5),
(1, 5001, 10000, 6),
(2, 10001, 15000, 7),
(3, 15001, 1000000000000, 8);


CREATE TABLE IF NOT EXISTS Car (
  Id_Car int(11) NOT NULL AUTO_INCREMENT,
  Ds_Car_Description varchar(20) COLLATE utf8_bin NOT NULL,
  Nr_Car_Price double NOT NULL,
  Ic_Car_Sold tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (Id_Car)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=7 ;

INSERT INTO Car (Id_Car, Ds_Car_Description, Nr_Car_Price, Ic_Car_Sold) VALUES
(1, 'Lotus', 20000, 1),
(2, 'Renault 5', 1000, 1),
(3, 'Audi A3', 6000, 1),
(4, 'Fiat Mille', 300, 1),
(5, 'Land Rover', 12000, 0),
(6, 'Lotus', 25000, 1);

在命名字段中,我使用 Id 作为主索引,使用 Nr 作为数字,使用 Ds 作为字符串,使用 Ic 作为布尔值。我为 Banco do Brasil 设计的 dbs 的标准。

于 2013-02-26T15:56:38.800 回答