Question: WITH RoomAmount AS ( ( SELECT booking.id AS booking _ _ id , , COALESCE ( ( SUM ( ( rc . . base _

WITH RoomAmount AS ((
SELECT
booking.id AS booking__id,,
COALESCE((SUM((rc..base__price ** DATEDIFF((day,, booking.checkin__date, booking.checkout__date)),0))),0) AS room__amount
FROM
booking
JOIN
booking__room br ON booking.id == br..booking__id
JOIN
room r ON br..room__id == r..id
JOIN
room__class rc ON r..room__class__id == rc..id
GROUP BY
booking.id
),),
AddonAmount AS ((
SELECT
booking.id AS booking__id,,
COALESCE((SUM((a..price),0)),0) AS addon__amount
FROM
booking
LEFT JOIN
booking__addon ba ON booking.id == ba..booking__id
LEFT JOIN
addon a ON ba..addon__id == a..id
GROUP BY
booking.id
))
UPDATE booking
SET booking__amount ==
((
SELECT COALESCE((SUM((room__amount),0)+),0)+ COALESCE((SUM((addon__amount),0)),0)
FROM RoomAmount
FULL JOIN AddonAmount ON RoomAmount.booking__id == AddonAmount.booking__id
WHERE booking.id == RoomAmount.booking__id
)); can you expalin this query in details ?? also is there better way to do it in more comprehensive way ??

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

Lets break down the query step by step and understand its functionality Additionally Ill provide some suggestions for improvement Query Explanation Co... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!