SELECT
DATEDIFF(day, Bookings.ArrivalDate, Bookings.DepartureDate) AS AmountDays,
PitchValues.Value,
(DATEDIFF(day, Bookings.ArrivalDate, Bookings.DepartureDate)) * PitchValues.Value AS YourCol
FROM
Bookings INNER JOIN
PitchValues ON Bookings.PitchType_Skey = PitchValues.PitchType_Skey
或者,只为使它看起来很漂亮:
SELECT
P0.AmountDays,
P0.Value,
(P0.AmountDays * P0.Value) as YourCol
FROM
(
SELECT
DATEDIFF(day, Bookings.ArrivalDate, Bookings.DepartureDate) AS AmountDays,
PitchValues.Value
FROM
Bookings INNER JOIN
PitchValues ON Bookings.PitchType_Skey = PitchValues.PitchType_Skey
) P0
你也可能需要执行ISNULL(0)周围的在事件列中存在空值时,整个值将变为空值。像这样:
SELECT
P0.AmountDays,
P0.Value,
(P0.AmountDays * P0.Value) as YourCol
FROM
(
SELECT
ISNULL(DATEDIFF(day, Bookings.ArrivalDate, Bookings.DepartureDate), 0) AS AmountDays,
ISNULL(PitchValues.Value, 0) as Value
FROM
Bookings INNER JOIN
PitchValues ON Bookings.PitchType_Skey = PitchValues.PitchType_Skey
) P0
SQL大师非常感谢你。 – wafw1971 2013-02-20 11:48:30