SELECT * FROM promocodes WHERE NOW() > start_date AND NOW() < end_date AND showonmodel = 1 AND site IN ('', '0') 
              ORDER BY CASE WHEN site = '' THEN 1 ELSE 2 END LIMIT 1