select count(grcm.acgrcmid) -- если >= 1 то разрешено, хотя по идее больше 1 быть -- не должно - структура базы такова, я надеюсь :) into Result from accgrcomm grcm, accgracc acgr where grcm.accgr = acgr.accgr and grcm.allowed >= 1 -- выбираем группы для которых разрешено and grcm.allowed is not null -- выбираем группы для которых разрешено and grcm.comm = ncid select c.cid -- выбираем команду from commands c where c.name = vcommand) and grcm.chnl in ( select ch.chid -- выбираем канал from channels ch where ch.channel = vchannel and ch.ntwrk = nnetwork or ch.chid = 1 or ch.chid = 2) and acgr.acc = naccid( -- выбираем группу акаунтов select ac.accid -- выбираем аккаунт from accounts ac where ( ac.locked = 0 -- аккаунт не зеблокирован or ac.locked is null) and ac.logined >= 1 -- юзер залогинен and ac.logined is not null and ac.logusr = ( select u.usid from users u -- выбираем юзера where u.nick = ( select n.nckid from nicks n where n.nick = vnick) and u.usr = vusr and u.host = vhost and u.ntwork = nnetwork));