我有点沮丧,想知道您是否可以提供帮助:
我有一个音高值表,其中包含以下列 PitchValues_Skey、PitchType_Skey(这是一个外键)、开始日期、结束日期和最后的值:
例如:
1 7 01/01/2010 31/12/2010 £15
2 7 01/01/2011 31/12/2011 £20
我想要做的就是更新我的 Bookings 表,其中包含每次预订的金额,所以我将下面的代码放在一起,当我只有 2010 年的数据时它工作得很好,但我知道有 2011 年和 2012 年并且想要更新它但它只会更新 2010 年的价格。
SELECT Bookings.Booking_Skey, DATEDIFF(day, Bookings.ArrivalDate, Bookings.DepartureDate) * PitchValues.Value AS BookingValue,
PitchValues.PitchType_Skey
FROM Bookings INNER JOIN
PitchValues ON Bookings.PitchType_Skey = PitchValues.PitchType_Skey
WHERE (Bookings.Booking_Skey = 1)
因此,当我运行上面的查询时,我希望看到一行数据,但我看到的是 4(见下文)
我希望这样:
Booking_Skey BookingValue PitchType_Skey
1 420 4
但我明白了
Booking_Skey BookingValue PitchType_Skey
1 420 4
1 453.6 4
1 476.7 4
1 476.7 4