[RESOLVIDO]Quantidade de registros no filtro "entre dois valores" no campo data

Olá a todos, eu tenho uma consulta que me trás os registros da tabela e um campo manual quantidade {qtd} que me trás a quantidade desses registros da seguinte forma:

{registro} — {qdt}
registroA — 4
registroB — 3
registroC — 5

O campo quantidade recebe o valor através do evento onRecord na consulta com o seguinte código:

sc_lookup(quantidade, "SELECT COUNT(id) FROM tabela WHERE registro = '{registro}'"); {qtd} = {quantidade[0][0]};
Até ai tudo funciona bem, o campo {qtd} trás a quantidade correta dos registros, porém na aplicação existe um filtro “entre dois valores” no campo {data} para ele trazer somente os registros que foram cadastrados em um determinado período de tempo. O campo {registro} trás o valor corretamente mas o campo {qtd} não. Por exemplo usar no filtro uma data onde apenas ouve um cadastro do “registroA” trará o resultado:

{registro} — {qdt}
registroA — 4

O campo {qtd} deveria mostrar o valor 1 mas ele mostra todos os registros do banco independente do filtro por data.
Tentei fazer isso funcionar de várias formas, pesquisei no fórum porém não tive sucesso, alguém sabe como resolver ou já teve um problema semelhante?

inclua como sub query SELECT COUNT(id) FROM tabela WHERE registro = id do registro no SQL principal.

Só atualizando o tópico com a solução, não consegui fazer desta forma do Haroldo mas encontrei outra solução, colocando esse código no evento onRecord da consulta:

[code]
$registro = {registro};
$di = {data_cadastro};//data de entrada inicial
$df = {data_cadastro_2};//data de entrada final

sc_lookup(qtd, “SELECT COUNT(id) FROM tabela WHERE registro= ‘$registro’”);
sc_lookup(qtd1, “SELECT COUNT(id) FROM tabela WHERE (data_cadastro between ‘$di’ and ‘$df’) and registro= ‘$registro’”);

//se as datas tiverem valor
if($di != ‘’ && $df != ‘’){
{qtd} = {qtd1[0][0]};
}
//se as datas estiverem vazias
else{
{qtd} = {qtd[0][0]};
}[/code]

{data_cadastro} é o meu campo data na tabela com o filtro entre dois valores, olhando o código fonte eu vi que ele estava sendo tratado como dois campos para pegar entre as datas: {data_cadastro} (para o primeiro input) e {data_cadastro_2} (para o segundo input)