App-PhotoDB

 view release on metacpan or  search on metacpan

migrations/026-lensmodel-views.sql  view on Meta::CPAN

    GROUP BY `CAMERA`.`camera_id`;


CREATE
    OR REPLACE ALGORITHM = UNDEFINED
VIEW `info_lens` AS
    SELECT
        `LENS`.`lens_id` AS `Lens ID`,
        `MOUNT`.`mount` AS `Mount`,
        IF(`LENS`.`zoom`,
            CONCAT(`LENSMODEL`.`min_focal_length`,
                    '-',
                    `LENSMODEL`.`max_focal_length`,
                    'mm'),
            CONCAT(`LENSMODEL`.`min_focal_length`, 'mm')) AS `Focal length`,
        CONCAT(`MANUFACTURER`.`manufacturer`,
                ' ',
                `LENSMODEL`.`model`) AS `Lens`,
        CONCAT(`LENSMODEL`.`closest_focus`, 'cm') AS `Closest focus`,
        CONCAT('f/', `LENSMODEL`.`max_aperture`) AS `Maximum aperture`,
        CONCAT('f/', `LENSMODEL`.`min_aperture`) AS `Minimum aperture`,
        CONCAT(`LENSMODEL`.`elements`,
                '/',
                `LENSMODEL`.`groups`) AS `Elements/Groups`,
        CONCAT(`LENSMODEL`.`weight`, 'g') AS `Weight`,
        IF(`LENSMODEL`.`zoom`,
            CONCAT(`LENSMODEL`.`nominal_max_angle_diag`,
                    '°-',
                    `LENSMODEL`.`nominal_min_angle_diag`,
                    '°'),
            CONCAT(`LENSMODEL`.`nominal_max_angle_diag`,
                    '°')) AS `Angle of view`,
        `LENSMODEL`.`aperture_blades` AS `Aperture blades`,
        PRINTBOOL(`LENSMODEL`.`autofocus`) AS `Autofocus`,
        CONCAT(`LENSMODEL`.`filter_thread`, 'mm') AS `Filter thread`,
        CONCAT(`LENSMODEL`.`magnification`, '×') AS `Maximum magnification`,
        `LENSMODEL`.`url` AS `URL`,
        `LENS`.`serial` AS `Serial number`,
        `LENS`.`date_code` AS `Date code`,
        CONCAT(IFNULL(`LENSMODEL`.`introduced`, '?'),
                '-',
                IFNULL(`LENSMODEL`.`discontinued`, '?')) AS `Manufactured between`,
        `LENS`.`manufactured` AS `Year of manufacture`,
        `NEGATIVE_SIZE`.`negative_size` AS `Negative size`,
        `LENS`.`acquired` AS `Date acquired`,
        CONCAT('£', `LENS`.`cost`) AS `Cost`,
        `LENS`.`notes` AS `Notes`,
        `LENS`.`lost` AS `Date lost`,
        CONCAT('£', `LENS`.`lost_price`) AS `Price sold`,
        `LENS`.`source` AS `Source`,
        `LENSMODEL`.`coating` AS `Coating`,
        `LENSMODEL`.`hood` AS `Hood`,
        `LENSMODEL`.`exif_lenstype` AS `EXIF LensType`,
        PRINTBOOL(`LENSMODEL`.`rectilinear`) AS `Rectilinear`,
        CONCAT(`LENSMODEL`.`length`,
                '×',
                `LENSMODEL`.`diameter`,
                'mm') AS `Dimensions (l×w)`,
        `CONDITION`.`name` AS `Condition`,
        CONCAT(`LENSMODEL`.`image_circle`, 'mm') AS `Image circle`,
        `LENSMODEL`.`formula` AS `Optical formula`,
        `LENSMODEL`.`shutter_model` AS `Shutter model`,
        COUNT(`NEGATIVE`.`negative_id`) AS `Frames shot`
    FROM
        ((((((`LENS`
        JOIN `LENSMODEL` ON ((`LENS`.`lensmodel_id` = `LENSMODEL`.`lensmodel_id`)))
        LEFT JOIN `MOUNT` ON ((`LENSMODEL`.`mount_id` = `MOUNT`.`mount_id`)))
        LEFT JOIN `MANUFACTURER` ON ((`LENSMODEL`.`manufacturer_id` = `MANUFACTURER`.`manufacturer_id`)))
        LEFT JOIN `CONDITION` ON ((`LENS`.`condition_id` = `CONDITION`.`condition_id`)))
        LEFT JOIN `NEGATIVE_SIZE` ON ((`LENSMODEL`.`negative_size_id` = `NEGATIVE_SIZE`.`negative_size_id`)))
        LEFT JOIN `NEGATIVE` ON ((`NEGATIVE`.`lens_id` = `LENS`.`lens_id`)))
    WHERE
        ((`LENS`.`own` = 1)
            AND (`LENSMODEL`.`fixed_mount` = 0))
    GROUP BY `LENS`.`lens_id`;


CREATE
    OR REPLACE ALGORITHM = UNDEFINED
VIEW `info_movie` AS
    SELECT
        `MOVIE`.`movie_id` AS `Movie ID`,
        `MOVIE`.`title` AS `Title`,
        CONCAT(`CM`.`manufacturer`,
                ' ',
                `CAMERAMODEL`.`model`) AS `Camera`,
        CONCAT(`LM`.`manufacturer`,
                ' ',
                `LENSMODEL`.`model`) AS `Lens`,
        `FORMAT`.`format` AS `Format`,
        PRINTBOOL(`MOVIE`.`sound`) AS `Sound`,
        `MOVIE`.`fps` AS `Frame rate`,
        CONCAT(`FM`.`manufacturer`,
                ' ',
                `FILMSTOCK`.`name`) AS `Filmstock`,
        `MOVIE`.`feet` AS `Length (feet)`,
        `MOVIE`.`date_loaded` AS `Date loaded`,
        `MOVIE`.`date_shot` AS `Date shot`,
        `MOVIE`.`date_processed` AS `Date processed`,
        `PROCESS`.`name` AS `Process`,
        `MOVIE`.`description` AS `Description`
    FROM
        ((((((((((`MOVIE`
        LEFT JOIN `CAMERA` ON ((`MOVIE`.`camera_id` = `CAMERA`.`camera_id`)))
        LEFT JOIN `CAMERAMODEL` ON ((`CAMERA`.`cameramodel_id` = `CAMERAMODEL`.`cameramodel_id`)))
        LEFT JOIN `FILMSTOCK` ON ((`MOVIE`.`filmstock_id` = `FILMSTOCK`.`filmstock_id`)))
        LEFT JOIN `LENS` ON ((`MOVIE`.`lens_id` = `LENS`.`lens_id`)))
        LEFT JOIN `LENSMODEL` ON ((`LENS`.`lensmodel_id` = `LENSMODEL`.`lensmodel_id`)))
        LEFT JOIN `MANUFACTURER` `CM` ON ((`CM`.`manufacturer_id` = `CAMERAMODEL`.`manufacturer_id`)))
        LEFT JOIN `MANUFACTURER` `FM` ON ((`FM`.`manufacturer_id` = `FILMSTOCK`.`manufacturer_id`)))
        LEFT JOIN `MANUFACTURER` `LM` ON ((`LM`.`manufacturer_id` = `LENSMODEL`.`manufacturer_id`)))
        LEFT JOIN `FORMAT` ON ((`MOVIE`.`format_id` = `FORMAT`.`format_id`)))
        LEFT JOIN `PROCESS` ON ((`MOVIE`.`process_id` = `PROCESS`.`process_id`)));


CREATE
    OR REPLACE ALGORITHM = UNDEFINED
VIEW `info_negative` AS
    SELECT
        `n`.`negative_id` AS `Negative ID`,
        `n`.`film_id` AS `Film ID`,



( run in 0.756 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )