
1个回答
展开全部
返回表3效果,可运行下列SQL选择查询语句
方法1,利用DLookup函数:
SELECT ID, 员工编号, 产品编码, 工序,
DLookup(工序,"产品工序定义","产品编码='" & 产品编码 & "' and " & 工序 & "=" & 工序 ) as 工序单价,
数量, 日期
FROM 工序产出汇报;
方法2:
SELECT a.ID, a.员工编号, a.产品编码, a.工序,
b.工序单价,
a.数量,a.日期
FROM 工序产出汇报 a,
(SELECT 产品编码,"裁剪" as 工序,裁剪 as 工序单价 FROM 产品工序定义
union all
SELECT 产品编码,"工序2",工序2 FROM 产品工序定义
union all
SELECT 产品编码,"工序3",工序3 FROM 产品工序定义 ) b
WHERE a.产品编码=B.产品编码 AND a.工序=b.工序;
说明:
方法1,语句逻辑简单,但是运行效率较低;方法2,运行效率较高,但是语句逻辑比较复杂、使用字符偏多、编写难度较大。
另外注意,数据表“产品工序定义”中的产品编码必须是唯一的,否则同一产品同一工序可能有多种价格会导致混乱。
测试截图
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询