Hola a todos...
mi consulta es sobre tablas cruzadas. He estado viendo sobre este tema en el foro y por Internet, pero no logro realizar una consulta en la BBDD.
Tengo la siguiente consulta SQL.
SELECT DISTINCT
tbPedidos.compañia
, tbClientes.NOMBRE
, tbPedidos.altura1 as Altura
,(SELECT COUNT(p.altura1) FROM tbPedidos AS p WHERE ((p.altura1 = tbPedidos.altura1) and (p.altura1 > 0)) AND (p.compañia = tbClientes.CODIGO) AND (p.TipoDoc = 1)) as Uds
FROM tbPedidos
INNER JOIN tbClientes ON tbPedidos.compañia = tbClientes.CODIGO
WHERE tbPedidos.altura1 > 0
UNION
SELECT DISTINCT
tbPedidos.compañia
, tbClientes.NOMBRE
, tbPedidos.altura2 as Altura
,(SELECT COUNT(p.altura2) FROM tbPedidos AS p WHERE ((p.altura2 = tbPedidos.altura2) and (p.altura2 > 0)) AND (p.compañia = tbClientes.CODIGO) AND (p.TipoDoc = 1)) as Uds
FROM tbPedidos
INNER JOIN tbClientes ON tbPedidos.compañia = tbClientes.CODIGO
WHERE tbPedidos.altura2 > 0
UNION
SELECT DISTINCT
tbPedidos.compañia
, tbClientes.NOMBRE
, tbPedidos.altura3 as Altura
,(SELECT COUNT(p.altura3) FROM tbPedidos AS p WHERE ((p.altura3 = tbPedidos.altura3) and (p.altura3 > 0)) AND (p.compañia = tbClientes.CODIGO) AND (p.TipoDoc = 1)) as Uds
FROM tbPedidos
INNER JOIN tbClientes ON tbPedidos.compañia = tbClientes.CODIGO
WHERE tbPedidos.altura3 > 0
ORDER BY tbClientes.NOMBRE, Altura
con la siguiente salida en pantalla:

¿como puedo hacer la consulta SQL para obtener el siguiente resultado?
