SELECT
*
FROM
orders
WHERE
EXISTS (SELECT `op`.`orders_id`
FROM `orders_products` AS `op`
JOIN `products` AS `p` ON `p`.`id` = `op`.`products_id`
WHERE `op`.`delivery_complete` != 1 AND `p`.`category_id` = 9 AND `op`.`orders_id` = orders.id)
AND
EXISTS (SELECT `op`.`orders_id`
FROM `orders_products` AS `op`
JOIN `products` AS `p` ON `p`.`id` = `op`.`products_id`
WHERE ( `p`.`category_id` != 9 AND `op`.`orders_id` = orders.id ))
AND
NOT EXISTS (SELECT `op`.`orders_id`
FROM `orders_products` AS `op`
JOIN `products` AS `p` ON `p`.`id` = `op`.`products_id`
WHERE ( `op`.`delivery_complete` != 1 AND `p`.`category_id` != 9 AND `op`.`orders_id` = orders.id ))
GROUP BY `orders`.`id`
ORDER BY orders.id DESC
SELECT
*
FROM
orders
JOIN `orders_products` AS `op` ON `orders`.`id` = `op`.`orders_id`
JOIN `products` AS `p` ON `p`.`id` = `op`.`products_id`
GROUP BY `orders`.`id`
HAVING
MAX(`op`.`delivery_complete` != 1 AND `p`.`category_id` = 9)
AND MAX(`p`.`category_id` != 9)
AND NOT MAX(`op`.`delivery_complete` != 1 AND `p`.`category_id` != 9)
SELECT `op`.`order_id`
FROM `OrderProducts` AS `op`
JOIN `Products` AS `p` ON `p`.`id` = `op`.`product_id`
WHERE `op`.`delivery_complete` != 1 AND `p`.`category_id` != 9
AND
(
SELECT COUNT(`op1`.id)
FROM `OrderProducts` AS `op1`
JOIN `Products` AS `p` ON `p`.`id` = `op1`.`product_id`
WHERE `op1`.`delivery_complete` = 1 AND `op`.orders_id = op1`.orders_id
) = (
SELECT COUNT(`op2`.id)
FROM `OrderProducts` AS `op2`
JOIN `Products` AS `p` ON `p`.`id` = `op2`.`product_id`
WHERE `op`.orders_id = op1`.orders_id
)
HAVING delivery_complete_not_ww_products = not_ww_products
AND products_count > not_ww_products
AND products_count > products_available
AND not_ww_products > 0
SELECT
`orders`.*
FROM
`orders`
INNER JOIN `orders_products` ON `orders_products`.`orders_id` = `orders`.`id`
INNER JOIN `products` ON `orders_products`.`products_id` = `products`.`id`
WHERE `orders`.status NOT IN ('ERLEDIGT', 'STORNO')
AND orders.id IN (SELECT `orders_id`
FROM `orders_products`
INNER JOIN `products` ON `orders_products`.`products_id` = `products`.`id`
WHERE orders_products.delivery_complete = 1 AND products.`category_id` != 9)
GROUP BY `orders`.`id`