Sql Join,更新一个表并从另一个表生成输出

时间:2013-04-10 15:02:01

标签: sql create-table updating

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 
)

如果重新安排航班,我们如何生成需要联系的客户列表?

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

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

但不知道如何更新航班时间

1 个答案:

答案 0 :(得分: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

如果我错了你能更好地解释它吗