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...