这是一个连接另一个表的查询。
我需要获取出现文本字符串的发票总额
invoice
可以有很多invoice_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
您需要计算
distinct
ids 以获得发票数量,否则您将获得总行数(加入后)。您还想汇总所有发票(因此您不需要group by
):这可能会运行得更快,尤其是随着表的增长: