2017-03-31 107 views
-1

我有销售,车辆和客户的表格,我正在尝试创建一个查询,该查询可以给出购买该类型车辆的客户的姓名和姓名。我创建了下面的子查询找到降序汽车销售:SQL Developer查询

SELECT Vehicles.Vehicle_Make, 
COUNT(Sales.VIN) AS NumberOfSales 
FROM Sales 
INNER JOIN Vehicles ON Sales.VIN = Vehicles.VIN 
GROUP BY Vehicles.Vehicle_Make 
ORDER BY NumberOfSales DESC; 

和销售客户情况表有着共同的cust_id列从中我能得到客户名和姓。由于第一行会给我最卖车的牌子,我如何查询第一行并将这个子查询的结果加入到客户表中以获取名字和姓氏?预先感谢您的建议。

+8

MySQL或SQL服务器? – SqlZim

+0

SQL Server和'LIMIT 1'的TOP 1' - 具有适当的ORDER BY'的mySQL,用于 –

+0

SELECT TOP 1 Vehicles.Vehicle_Make, COUNT(Sales.VIN)AS NumberOfSales FROM Sales INNER JOIN车辆销售.VIN = Vehicles.VIN GROUP BY Vehicles.Vehicle_Make ORDER BY NumberOfSales DESC; –

回答

0

事情是这样的:

select c.* 
from (
    select top 1 
     vehicles.vehicle_make 
    , count(sales.vin) as numberofsales 
    from sales 
    inner join vehicles 
     on sales.vin = vehicles.vin 
    group by vehicles.vehicle_make 
    order by numberofsales desc 
) t 
    inner join vehicles v 
    on v.vehicle_make = t.vehicle_make 
    inner join sales s 
    on s.vehicle_vin = v.vehicle_vin 
    inner join customer c 
    on c.cust_id = s.cust_id