hskartono

Untitled

Nov 30th, 2021
2,134
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. SELECT
  2.                     COUNT(*) AS count_data,
  3.                     SUM(MIN_DATA) AS min_data,
  4.                     SUM(EMPTY_DATA) AS empty_data
  5.                 FROM (
  6.                     SELECT
  7.                         p.id,
  8.                         p.part_number,
  9.                         p.job_no,
  10.                         p.name,
  11.                         pc.ars AS rack,
  12.                         pc.min_quantity,
  13.                         pc.max_quantity,
  14.                         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,
  15.                         CASE WHEN COALESCE(part_count.counter_data, 0) = 0 THEN 1 ELSE 0 END EMPTY_DATA
  16.                     FROM part p WITH (NOLOCK)
  17.                     INNER JOIN PCRack pc WITH (NOLOCK) ON p.id = pc.part_id
  18.                     LEFT JOIN PartPackage pp  WITH (NOLOCK) ON pp.pc_rack_id = pc.ars
  19.                     LEFT JOIN (
  20.                         SELECT
  21.                             PartPackage.part_id
  22.                             , COUNT(*) AS counter_data
  23.                         FROM PartPackage WITH (NOLOCK)
  24.                         WHERE PartPackage.package_status_id = 'STOCKED'
  25.                             AND PartPackage.pc_rack_id IS NOT NULL
  26.                         GROUP BY
  27.                             PartPackage.part_id
  28.                     ) AS part_count ON part_count.part_id = p.id
  29.                     GROUP BY
  30.                         p.id,
  31.                         p.part_number,
  32.                         p.name,
  33.                         p.job_no,
  34.                         pc.ars,
  35.                         pc.min_quantity,
  36.                         pc.max_quantity,
  37.                         CASE WHEN COALESCE(part_count.counter_data, 0) < pc.min_quantity AND COALESCE(part_count.counter_data, 0) > 0 THEN 1 ELSE 0 END,
  38.                         CASE WHEN COALESCE(part_count.counter_data, 0) = 0 THEN 1 ELSE 0 END
  39.                 ) tabel
RAW Paste Data