3

我正在尝试选择已在数据库中销售的产品的最高价格,我有三个表(tbl_CarForSaletbl_Commisiontbl_Salesman

我要做的是选择已售出的汽车的最高价格,然后使用该记录计算所赚取的佣金,并将其链接到销售员。我有以下内容,它返回最大汽车价格,但我不知道如何直接使用返回的记录来获取其他可能的信息。

SELECT Max(tbl_CarForSale.carprice)
FROM (SELECT tbl_CarForSale.*, tbl_Salesman.*,  from tbl_CarForSale, 
WHERE bolSold = true)

我猜我需要把它放到另一个SELECT语句中并嵌套它,但我不知道该怎么做。

编辑:

根据要求,字段名称在这里。

tbl_salesman: name
tbl_CarForSale: registration, soldDatem salesmanNo, carPrice, bolSold
tbl_Commision: minValue, maxValue, comAvliable

基本上,佣金表背后的想法是销售员根据汽车的价格赚取佣金,因此我有一个查询,查看汽车价格并返回销售员赚取的佣金

4

2 回答 2

3

像这样的东西应该工作。

select your fields
from your tables
where bolSold = true
and tbl_CarForSale.carprice = (select max(carprice) from tbl_carForSale)
于 2013-03-19T12:51:34.227 回答
0

tbl_salesman也需要具有该salesmanNo属性,这样表就有一个相似的属性可以加入。这也适用于其他表。

bolSold 是做什么的?

如果我理解正确,tbl_Commision作为一个表没有意义,而是一个函数或在应用程序级别处理几个特殊查询。

salesmanNo如果包含在 中,这应该给出每个推销员销售的汽车的最高价格tbl_salesman

SELECT salesman.name, MAX(tbl_CarForSale.carprice) FROM tbl_salesman JOIN tbl_CarsForSale GROUP BY salesman.name ORDER BY MAX(tbl_CarForSale.carprice);

您可以在其末尾添加一个WHERE子句来指定大于和小于约束,或者您可以创建一个函数并将MAX()上面示例中的函数替换为新创建的函数。

标准化一点也可能有意义。我不知道你的确切要求,但我会考虑这样的事情:

car: registration, carPrice, bolSold
salesman: salesmanNo, name
sold_record: date, salesmanNo, registration REFERENCES car.registration,salesmanNo REFERENCES salesman.salesmanNo
于 2013-03-19T12:59:19.597 回答