access 里SQL稍复杂的查询:两张表,为父子关系,从子表里查询汇总选定的几个字符串到父表里。
有两张表:PackingInfo:SerialNo,ClientsID,Vol,Weight----------------------------------RCTYB...
有两张表:
PackingInfo:
SerialNo, ClientsID, Vol, Weight
----------------------------------
RCTYB01 YB 0.3 20
RCTYB04 YB 0.8 50
RCTWQ02 WQ 0.4 25
ItemList:
SerialNo, Name, Quantity, Unit
----------------------------------
RCTYB01 shoes 10 双
RCTYB01 Toy 5 件
RCTYB04 shoes 50 双
RCTYB04 Parts 6 套
RCTYB04 Books 18 本
RCTWQ02 Machine 1 套
现在需要一个查询结果为:
SerialNo, ClientsID, Vol, Weight, Details
---------------------------------------------------------------
RCTYB01 YB 0.3 20 shoes 10 双,toy 5 件
RCTYB04 YB 0.8 50 shoes 50 双,parts 6 套,books 18 本
RCTWQ02 WQ 0.4 25 Machine 1 套
怎么实现?感谢!!!! 展开
PackingInfo:
SerialNo, ClientsID, Vol, Weight
----------------------------------
RCTYB01 YB 0.3 20
RCTYB04 YB 0.8 50
RCTWQ02 WQ 0.4 25
ItemList:
SerialNo, Name, Quantity, Unit
----------------------------------
RCTYB01 shoes 10 双
RCTYB01 Toy 5 件
RCTYB04 shoes 50 双
RCTYB04 Parts 6 套
RCTYB04 Books 18 本
RCTWQ02 Machine 1 套
现在需要一个查询结果为:
SerialNo, ClientsID, Vol, Weight, Details
---------------------------------------------------------------
RCTYB01 YB 0.3 20 shoes 10 双,toy 5 件
RCTYB04 YB 0.8 50 shoes 50 双,parts 6 套,books 18 本
RCTWQ02 WQ 0.4 25 Machine 1 套
怎么实现?感谢!!!! 展开
1个回答
展开全部
这您可以用两种方式来实现,
一、使用行转列,先将ItemList表改成每个SerialNo一行的数据,然后再与前面的表关联,便可以实现。
二、使用自定义函数,定义一个传入SerialNo值,然后返回Details的函数,例如,定义函数GetDetails,传入“RCTYB01” 便返回”shoes 10 双,toy 5 件“,然后在Select语句中,使用该函数,
SELECT GetDetails(SerialNo) FROM PackingInfo
如果要在程序中使用,建议自定义查询。
但愿能够帮到您。
一、使用行转列,先将ItemList表改成每个SerialNo一行的数据,然后再与前面的表关联,便可以实现。
二、使用自定义函数,定义一个传入SerialNo值,然后返回Details的函数,例如,定义函数GetDetails,传入“RCTYB01” 便返回”shoes 10 双,toy 5 件“,然后在Select语句中,使用该函数,
SELECT GetDetails(SerialNo) FROM PackingInfo
如果要在程序中使用,建议自定义查询。
但愿能够帮到您。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询