Wenn Sie eine Prozedur schreiben, sollten Sie Folgendes versuchen:
BEGIN
IF ((SELECT COUNT(id) FROM tbl_states) > 0) THEN
SELECT * FROM tbl_cities;
END IF
END
Wenn es sich um eine Abfrage handelt, BEGIN und END habe hier nichts zu tun.
Bearbeiten
Nun, mehr gibt es eigentlich nicht zu sagen, IF ((SELECT COUNT(id) FROM tbl_states) > 0) THEN SELECT * FROM tbl_cities; END IF respektiert einfach nicht die grundlegende SELECT-Anweisung
von MySQL .
Sie sollten mit SELECT beginnen ... usw...