Jag måste hålla med om att ditt krav verkar ganska konstigt. Hur som helst, din fråga fungerar inte, eftersom MySQL (och jag slår vad om alla andra DBMS också) först utvärderar frågan för att kontrollera efter syntaxfel och så vidare...och för befintliga tabeller.
Antingen gör du bara dessa flera frågor i din applikationskod eller så skapar du en lagrad procedur för att hämta data med hjälp av förberedda uttalanden. Koden för detta skulle se ut ungefär så här:
DELIMITER $$
CREATE PROCEDURE get_my_data()
BEGIN
SET @table_name = '';
IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE SCHEMA_NAME = 'your_db_name'
AND TABLE_NAME = 'your_table_name')
THEN SET @table_name = 'tableA';
ELSE SET @table_name = 'tableB';
END IF;
SET @sql = CONCAT('SELECT COUNT(*) FROM ', @table_name, ';');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END $$
DELIMITER ;
När du har skapat den skulle du sedan utföra proceduren med
CALL get_my_data();