sorry Paul, gave you the wrong syntax...see below where there is an entry for each of the two values in each query...each one has a dummy value. you can add more unions if you want, just assign a new dummy to each query so that each returns the same number of values plus the same types...
SELECT
count(*)as Picking,
0 AS LaserENG
FROM
CCDTA.OEORH48,CCDTA.TRNSTAT2,CCDTA.OETRA99
WHERE OHCOM# = TSCOM# AND OHORD# = TSORD#
AND (otCOM# = OHCOM# AND OTORD#= OHORD# AND ottrnc = 'AQC')
AND OHORDT IN('RTR','INT','SAM') AND TSSTAT IN('ECT','STP')
AND OHREQD = replace(char(current date, iso), '-', '') AND
OHHLDC = ' 'AND OHORD# in(SELECT a.TSORD# FROM ASTCCDTA.TRNSTAT2 a
WHERE a.tsstat IN('AEP','BGE','EAS','REL','STP'))
UNION ALL
SELECT
0,
count(*) FROM
CCDTA.OEORH48,CCDTA.TRNSTAT2,CCDTA.OETRA99
WHERE OHCOM# = TSCOM# AND OHORD# = TSORD#
AND (otCOM# = OHCOM# AND OTORD#= OHORD# AND ottrnc = 'AQC')
AND TSSTAT IN('EAS','REL','SCC')
AND OHORDT IN('RTR','INT','SAM')
AND OHREQD = replace(char(current date, iso), '-', '') AND OHHLDC = ' '