001-view_public_events.sql 2.2 KB

1234567891011121314151617181920212223242526272829303132
  1. CREATE OR REPLACE VIEW view_public_events
  2. AS
  3. SELECT
  4. b.uuid, b.organization_id AS organizationId, b.name, b.description, b.url, b.datetimeStart, b.datetimeEnd,
  5. p.name AS placeName, p.description AS placeDescription, p.floorSize AS placeFloorSize, p.capacity AS placeCapacity,
  6. ap.addressCity AS city, ap.postalCode,
  7. TRIM(BOTH ' ' FROM CONCAT( if(ap.streetAddress is null,'',ap.streetAddress), ' ', if(ap.streetAddressSecond is null,'',ap.streetAddressSecond), ' ', if(ap.streetAddressThird is null,'',ap.streetAddressThird))) AS streetAddress,
  8. ap.longitude, ap.latitude,
  9. r.name AS roomName, r.description AS roomDescription, r.localisation AS roomLocalisation, r.capacity AS roomCapacity, r.floorSize AS roomFloorSize, b.image_id AS imageId,
  10. (SELECT CONCAT('[',GROUP_CONCAT(CONCAT(f.code)),']')
  11. FROM event_categories AS ec
  12. LEFT JOIN Categories AS cs ON(cs.id = ec.categories_id)
  13. LEFT JOIN Familly AS f ON(f.id = cs.familly_id)
  14. WHERE ec.event_id = b.id
  15. ) AS categories, 'opentalent' as origin, b.id as entityId
  16. FROM Booking AS b
  17. INNER JOIN Organization o ON o.id = b.organization_id
  18. INNER JOIN Parameters par ON par.id = o.parameters_id
  19. LEFT JOIN Place AS p ON (p.id = b.place_id)
  20. LEFT JOIN AddressPostal AS ap ON (ap.id = p.addressPostal_id)
  21. LEFT JOIN Room AS r ON (r.id = b.room_id)
  22. WHERE b.discr = 'event' AND b.datetimeEnd >= NOW() AND b.visibility = 'PUBLIC_VISIBILITY' AND b.isCanceled = 0
  23. UNION
  24. SELECT
  25. aw.uuid, null AS organizationId, aw.name, aw.description, NULL AS url, aw.datetimeStart, aw.datetimeEnd,
  26. aw.place AS placeName, NULL AS placeDescription, NULL AS placeFloorSize, NULL AS placeCapacity,
  27. aw.city, aw.postalCode, aw.streetAddress, aw.longitude, aw.latitude,
  28. NULL AS roomName, NULL AS roomDescription, NULL AS roomLocalisation, NULL AS roomCapacity, NULL AS roomFloorSize,
  29. aw.largeimage AS imageId, aw.categories AS categories, 'awin' as origin, aw.id as entityId
  30. FROM AwinProduct as aw
  31. WHERE
  32. aw.datetimeEnd >= NOW() AND aw.datetimeStart IS NOT NULL;