SELECT
id,plan_qty
FROM
`p_project` p
WHERE `is_delete` = 0
AND NOT EXISTS
(SELECT
1
FROM
p_project_item i
WHERE i.is_delete = 0
AND i.project_id = p.`id`)
ORDER BY RAND ()
LIMIT 1;
SELECT
i.`project_id`,
i.`batch`,
FORMAT(ROUND(i.`qty`-RAND()*10),0) AS qty
FROM
`p_project_item` i
WHERE i.is_delete = 0
AND NOT EXISTS
(SELECT
1
FROM
`p_project_device` d
WHERE d.`project_id` = i.`project_id`
AND d.`project_batch` = i.`batch`
AND d.`is_delete` = 0)
ORDER BY RAND ()
LIMIT 1;