access怎么把表1查询结果作为表2的列名查询表2的数据

如题,表1表2如下,结果如表3... 如题,表1表2如下,结果如表3 展开
 我来答
tjrmgs
2019-03-08 · TA获得超过5767个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1134万
展开全部

返回表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,运行效率较高,但是语句逻辑比较复杂、使用字符偏多、编写难度较大。

另外注意,数据表“产品工序定义”中的产品编码必须是唯一的,否则同一产品同一工序可能有多种价格会导致混乱。

测试截图

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式