Aqui está uma consulta que se junta a outra tabela.
Preciso obter o valor total de faturas em que ocorre uma string de texto
invoice
pode ter muitosinvoice_product
SELECT count(i.id)
FROM `invoice` i
INNER JOIN `invoice_product` ip ON ip.invoice_id=i.id
WHERE i.block_id=1 && (i.txt LIKE '%str%' || ip.name LIKE '%str%' || ip.txt LIKE '%str%')
GROUP BY i.id
Você precisa contar
distinct
os ids para obter o número de faturas, caso contrário, obterá o número total de linhas (após ingressar). Além disso, você deseja agregar todas as faturas (para que não precise de umgroup by
):É provável que isso seja executado mais rapidamente, especialmente à medida que as tabelas crescem: