Hvad med at bruge IN i stedet
SELECT `salesorder`,
`masterproduct`,
`family`,
`birthstamp`,
`duedate`,
COUNT( * ) AS `total`
FROM `report`
WHERE `birthstamp` BETWEEN '$startDT' AND '$endDT'
AND `family` IN ('Software_1Y','XI_1Y','PI_1Y')
GROUP BY `salesorder`,
`masterproduct`,
`family`,
`duedate`;
Grunden til, at ingen værdier returneres, er på grund af denne sektion
AND `family` = 'Software_1Y'
AND `family = 'XI_1Y'
AND `family` = 'PI_1Y'
family
kan ikke være alle 3 værdier på én gang, men det kan være 1 af de 3 værdier.
Det er derfor, du ville bruge IN.
En anden måde at se det på ville være at bruge OR, men det bliver virkelig langvarigt.