Advertisement
Guest User

masha

a guest
Mar 22nd, 2017
484
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.01 KB | None | 0 0
  1. INSERT INTO payments
  2. SELECT visits.id,
  3.        ships.id,
  4.        seaports.id,
  5.        service_costs.id,
  6.        CASE WHEN service_costs.start_date > visits.arrival THEN service_costs.start_date ELSE visits.arrival END,
  7.        CASE WHEN service_costs.end_date < visits.departure THEN service_costs.end_date ELSE visits.departure END,
  8.        ((CASE WHEN service_costs.end_date < visits.departure THEN service_costs.end_date ELSE visits.departure END) - (CASE WHEN service_costs.start_date > visits.arrival THEN service_costs.start_date ELSE visits.arrival END))*service_costs.price_per_day
  9. FROM visits
  10.      INNER JOIN ships ON (visits.ship_id = ship.id)
  11.      INNER JOIN seaports ON (seaports.id = visits.seaport_id)
  12.      INNER JOIN service_costs ON (
  13.         service_costs.seaport_id = seaports.id AND
  14.         service_costs.min_displacement <= ships.displacement AND
  15.         service_costs.max_displacement >= ships.displacement AND
  16.         service_costs.date_start <= visits.departure AND
  17.         service_costs.date_end <= visits.arrival
  18.      )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement