Ummmm si me hubieras colocado las tablas y sus campos me queda mas acertado.
Esto funciona y puedes colocar los campos de detalle que necesites, solo que tienes que ver como te manejas con el group by que esta alli, como te dije antes: con las tablas y campos te lo hacia mas acertado, pero ya puedes tener una idea de como hacerlo.
Con el with haces unas especies de vistas temporales que puedes reutilizar a lo largo del cuerpo del query (es donde esta el ultimo select)
Deben existir otras maneras de hacerlo pero como este tema esta desierto coloco algo para colaborar que pense al instante y no analicé mucho, el que pueda tunnear esto bienvenido sea.
Código:
WITH
nuevo AS ( SELECT s.pedido AS nuevos, v.detalle AS detalle FROM pedidos s, detalle v
WHERE s.tipo='nuevo' AND s.pedido=v.pedido
),
no_nuevos AS(SELECT s.pedido AS no_nuevos, v.detalle AS detalle FROM pedidos s, detalle v
WHERE s.tipo<>'nuevo' AND s.pedido=v.pedido),
total_no_nuevos AS (SELECT COUNT(s.pedido) AS total_no_nuevos FROM pedidos s
WHERE s.tipo<>'nuevo' ),
total AS (SELECT COUNT(s.pedido) AS total FROM pedidos s)
SELECT n.nuevos, n.detalle FROM nuevo n
GROUP BY n.nuevos, n.detalle HAVING COUNT(n.nuevos)>0
UNION ALL
SELECT v.no_nuevos, v.detalle FROM no_nuevos v, total t, total_no_nuevos o
WHERE o.total_no_nuevos = t.total
Saludos y suerte