You could try something like:
REPLACE INTO InvalidBaseDataTable
SELECT *, CASE
WHEN dateTime = '0000-00-00 00:00:00' THEN 'datetime equal to 0'
WHEN eventId = 0 THEN 'eventId equal to 0'
WHEN ueType = 0 THEN 'ueType equal to 0'
ELSE 'All good'
END AS rejectionreason
FROM BaseDataTable WHERE dateTime = '0000-00-00 00:00:00'
OR eventId = 0
OR ueType = 0
OR eventId NOT IN (SELECT DISTINCT(eventId) FROM EventCauseTable)
OR causeCode < (SELECT MIN(causeCode) FROM EventCauseTable)
OR causeCode > (SELECT MAX(causeCode) FROM EventCauseTable)
OR ueType NOT IN (SELECT DISTINCT(tac) FROM UeTable)
OR (eventId NOT IN (SELECT DISTINCT(eventId) FROM EventCauseTable)
AND
causeCode NOT IN (SELECT DISTINCT(causeCode) FROM EventCauseTable))