Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT
- COUNT(*) AS count_data,
- SUM(MIN_DATA) AS min_data,
- SUM(EMPTY_DATA) AS empty_data
- FROM (
- SELECT
- p.id,
- p.part_number,
- p.job_no,
- p.name,
- pc.ars AS rack,
- pc.min_quantity,
- pc.max_quantity,
- CASE WHEN COALESCE(part_count.counter_data, 0) < pc.min_quantity AND COALESCE(part_count.counter_data, 0) > 0 THEN 1 ELSE 0 END AS MIN_DATA,
- CASE WHEN COALESCE(part_count.counter_data, 0) = 0 THEN 1 ELSE 0 END EMPTY_DATA
- FROM part p WITH (NOLOCK)
- INNER JOIN PCRack pc WITH (NOLOCK) ON p.id = pc.part_id
- LEFT JOIN PartPackage pp WITH (NOLOCK) ON pp.pc_rack_id = pc.ars
- LEFT JOIN (
- SELECT
- PartPackage.part_id
- , COUNT(*) AS counter_data
- FROM PartPackage WITH (NOLOCK)
- WHERE PartPackage.package_status_id = 'STOCKED'
- AND PartPackage.pc_rack_id IS NOT NULL
- GROUP BY
- PartPackage.part_id
- ) AS part_count ON part_count.part_id = p.id
- GROUP BY
- p.id,
- p.part_number,
- p.name,
- p.job_no,
- pc.ars,
- pc.min_quantity,
- pc.max_quantity,
- CASE WHEN COALESCE(part_count.counter_data, 0) < pc.min_quantity AND COALESCE(part_count.counter_data, 0) > 0 THEN 1 ELSE 0 END,
- CASE WHEN COALESCE(part_count.counter_data, 0) = 0 THEN 1 ELSE 0 END
- ) tabel
Advertisement
Add Comment
Please, Sign In to add comment