2013-04-10 65 views
0
CREATE TABLE LeadCustomer 
( 
    CustomerID INTEGER NOT NULL, FirstName VARCHAR(20) NOT NULL, 
    Surname VARCHAR(40) NOT NULL, BillingAddress VARCHAR(200) NOT NULL, 
    email VARCHAR(30) NOT NULL  
) 

CREATE TABLE Flight 
(
FlightID INTEGER NOT NULL, FlightDate TIMESTAMP NOT NULL, 
Origin VARCHAR(30) NOT NULL, Destination VARCHAR(30) NOT NULL, 
MaxCapacity INTEGER NOT NULL, PricePerSeat DECIMAL NOT NULL 
) 

CREATE TABLE FlightBooking 
(
BookingID INTEGER NOT NULL, CustomerID INTEGER NOT NULL, FlightID INTEGER NOT NULL, 
NumSeats INTEGER NOT NULL, Status CHAR(1) NOT NULL, BookingTime TIMESTAMP NOT NULL, 
TotalCost DECIMAL 
) 

如果航班重新安排,我们如何生成需要联系的客户列表?Sql加入,更新一个表格并从另一个表格生成输出

到目前为止,我已经完成了到:

SELECT 
LeadCustomer.CustomerID,Flight.FlightID 
FROM LeadCustomer 
inner join FlightBooking 
ON LeadCustomer.CustomerID = FlightBooking.CustomerID    
inner join 
Flight ON FlightBooking.FlightID = Flight.FlightID; 

,但不知道如何更新的飞行时间

回答

0

我明白Flight.FlightDate等于FlightBooking.BookingTime。当您更新的第一列,您可以搜索,其中一个成为不同于其他,如:

SELECT 
LeadCustomer.CustomerID,Flight.FlightID 
FROM LeadCustomer 
inner join FlightBooking 
ON LeadCustomer.CustomerID = FlightBooking.CustomerID    
inner join 
Flight ON FlightBooking.FlightID = Flight.FlightID 
WHERE Flight.FlightDate <> FlightBooking.BookingTime 

如果I'm错误你能不能解释一下更好

相关问题