DELIMITER | CREATE FUNCTION get_docroot (domain_in VARCHAR(64)) RETURNS VARCHAR(128) BEGIN DECLARE doc_out VARCHAR(128); SELECT `docroot` FROM `domains` WHERE `domain` = domain_in OR `domain` = (SELECT REPLACE(domain_in, (SELECT LEFT(domain_in, (SELECT LOCATE('.', domain_in)))), '*.')) LIMIT 1 INTO doc_out; return doc_out; END| and call it via SELECT get_docroot('notspecifiedsubdomain.domain.tld') AS docroot; or as mysql-vhost.sql = SELECT get_docroot('?') AS docroot; dont forget to give mysql user execute rights for the db!