Skip to content

Instantly share code, notes, and snippets.

@hartym
Created May 19, 2009 14:59
Show Gist options
  • Save hartym/114157 to your computer and use it in GitHub Desktop.
Save hartym/114157 to your computer and use it in GitHub Desktop.
--- Buggy SQL:
SELECT c.id AS c__id, c.category_id AS c__category_id, c.name AS c__name, c.description AS c__description, c.need_validation_flag AS c__need_validation_flag, c.advertise_flag AS c__advertise_flag, c.created_at AS c__created_at, c.updated_at AS c__updated_at, c.slug AS c__slug, c2.id AS c2__id, c2.user_id AS c2__user_id, c2.resource_id AS c2__resource_id, c2.validator_id AS c2__validator_id, c2.information AS c2__information, c2.status AS c2__status, c2.visible_details_flag AS c2__visible_details_flag, c2.validated_at AS c2__validated_at, c2.starting_at AS c2__starting_at, c2.ending_at AS c2__ending_at, c2.created_at AS c2__created_at, c2.updated_at AS c2__updated_at FROM booking_resource c LEFT JOIN booking_entry c2 ON (c.id = c2.resource_id AND ((c2.ending_at > '1242691200' AND c2.ending_at <=) OR (c2.starting_at < '1245369600' AND c2.starting_at >= '1242691200') OR (c2.starting_at < '1242691200' AND c2.ending_at >))) WHERE c.category_id = '1' ORDER BY c2.starting_at
--- Good SQL:
SELECT c.id AS c__id, c.category_id AS c__category_id, c.name AS c__name, c.description AS c__description, c.need_validation_flag AS c__need_validation_flag, c.advertise_flag AS c__advertise_flag, c.created_at AS c__created_at, c.updated_at AS c__updated_at, c.slug AS c__slug, c2.id AS c2__id, c2.user_id AS c2__user_id, c2.resource_id AS c2__resource_id, c2.validator_id AS c2__validator_id, c2.information AS c2__information, c2.status AS c2__status, c2.visible_details_flag AS c2__visible_details_flag, c2.validated_at AS c2__validated_at, c2.starting_at AS c2__starting_at, c2.ending_at AS c2__ending_at, c2.created_at AS c2__created_at, c2.updated_at AS c2__updated_at FROM cbooking_resource c LEFT JOIN booking_entry c2 ON (c.id = c2.resource_id AND ((c2.ending_at > '1242691200' AND c2.ending_at <= '1245369600') OR (c2.starting_at < '1245369600' AND c2.starting_at >= '1242691200') OR (c2.starting_at < '1242691200' AND c2.ending_at > '1245369600'))) WHERE c.category_id = '1' ORDER BY c2.starting_at
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment