You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用INNER JOIN从MySQL发票及明细表中提取对应商品明细项

你之前的关联查询没有得到预期结果,核心问题是多余的GROUP BY department_name子句:该子句会将同部门的多条数据合并为单条返回,自然无法拿到所有商品明细。

如果要获取指定部门、指定时间段内所有发票对应的商品明细,正确的INNER JOIN写法如下:

SELECT 
  -- 建议按需指定字段,避免两张表同名字段冲突,这里先写全量返回示例
  i.*, d.*
FROM tbl_invoice i
INNER JOIN tbl_invoice_details d
  ON i.invoice_id = d.invoice_id
WHERE 
  i.department_name = 'DIFA'
  AND i.order_date BETWEEN '2021-08-01' AND '2021-10-13';

这里用表别名i、d简化了书写,你也可以根据需要替换成完整表名。

如果是要查询单张发票ID为4的所有明细,写法如下:

SELECT *
FROM tbl_invoice
INNER JOIN tbl_invoice_details
  ON tbl_invoice.invoice_id = tbl_invoice_details.invoice_id
WHERE tbl_invoice.invoice_id = '4';

内容的提问来源于stack exchange,提问作者Silvestre Kassoka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 04:54:01