SQL查询-查找最高编号

问题描述

有人可以帮我吗?我需要找到此查询,但无法使它们显示一个。我知道我写错了,但不确定如何更正。我只需要显示预订时间最长的客户即可。

SELECT CUSTOMERS.CUSTOMER_ID,CUSTOMERS.CUSTOMER_NAME,ACCOMMODATION_BOOKINGS.CHECKIN_DATE,ACCOMMODATION_BOOKINGS.NIGHTS
FROM   CUSTOMERS,ACCOMMODATION_BOOKINGS
WHERE  CUSTOMERS.CUSTOMER_ID = ACCOMMODATION_BOOKINGS.CUSTOMER_ID
SELECT MAX(Nights) AS NIGHTS
FROM ACCOMMODATION_BOOKINGS,CUSTOMERS;

解决方法

这将为您提供所需的结果:

SELECT CUSTOMERS.CUSTOMER_ID,CUSTOMERS.CUSTOMER_NAME,ACCOMMODATION_BOOKINGS.CHECKIN_DATE,ACCOMMODATION_BOOKINGS.NIGHTS
FROM CUSTOMERS
JOIN ACCOMMODATION_BOOKINGS
ON CUSTOMERS.CUSTOMER_ID = ACCOMMODATION_BOOKINGS.CUSTOMER_ID
WHERE ACCOMMODATION_BOOKINGS.NIGHTS = (
    SELECT MAX(NIGHTS) AS NIGHTS
    FROM ACCOMMODATION_BOOKINGS
);