我正在尝试选择已在数据库中销售的产品的最高价格,我有三个表格(tbl_CarForSale
,tbl_Commision
和tbl_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
基本上,委员会表格背后的想法是,销售员根据汽车的价格获得佣金,因此我有一个查询汽车价格的查询,并将返回销售员赚取的佣金
答案 0 :(得分:3)
这样的事情应该有效。
select your fields
from your tables
where bolSold = true
and tbl_CarForSale.carprice = (select max(carprice) from tbl_carForSale)
答案 1 :(得分:0)
tbl_salesman
也需要具有salesmanNo
属性,就像表具有要加入的like属性一样。这也适用于其他表格。
什么是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()
函数替换为新创建的函数。 / p>
标准化一点也许有意义。我不知道你的确切要求,但我会考虑这样的事情:
car: registration, carPrice, bolSold
salesman: salesmanNo, name
sold_record: date, salesmanNo, registration REFERENCES car.registration,salesmanNo REFERENCES salesman.salesmanNo