Witam. Napisałem proste zapytanie.
  1. $dsql = dbquery("DELETE c.* FROM `faq_cats` c LEFT JOIN `faqs` f ON c.cid = f.fcid WHERE `cid` = '".$this->cid."' AND `fcid` <> '".$this->cid."' ") or die(mysql_error());


Zapytanie "usuwa kategorię" i sprawdzą czy nie ma w drugiej tabeli rekordów przypisanych do niej. Nie usuwa, jeżeli są rekordy w drugiej tabeli ale także nie usuwa kategorii jeżeli jest pusta :/

Odpowiedź:
Zamiast AND `fcid` <> '".$this->cid."' - AND f.fcid is null