求SQL查询语法,一对多查询 10

订单:Order(order_uid,order_no,car_no)柜子:CNTR(cntr_uid,cntr_no,order_uid)对应关系:一张订单有多个柜子。... 订单:Order(order_uid,order_no,car_no)
柜子:CNTR(cntr_uid,cntr_no,order_uid)
对应关系:一张订单有多个柜子。
现在要得根据订单,查询出这样的查询结果,订单号对应的所有的柜子。
列名:order_no,cntr_no.

由于一张订单可以有多个柜子,所以cntr_no这个列就返回多个柜子,用“/”隔开。
结果示例:
订单 柜号
HKSZ0910230001 CNTRNO1,CNTRNO2,CNTRNO3
HKSZ0910230002 CNTRNO5,CNTRNO6
HKSZ0910230003 CNTRNO9
HKSZ0910230004 CNTRNO10,CNTRNO11
展开
 我来答
腾飞yyds
2015-04-24 · TA获得超过451个赞
知道小有建树答主
回答量:587
采纳率:50%
帮助的人:261万
展开全部
SQL Server 2005+版本的, 使用 FOR XML 方式处理。

Oracle 使用 WMSYS.WM_CONCAT 函数 的方式进行处理

MySQL 使用 GROUP_CONCAT 函数 的方式进行处理

具体例子 见参考资料
参考资料: http://hi.baidu.com/wangzhiqing999/blog/item/a57d1a86009e439ff703a67a.html
tanfu8031
2015-04-24 · TA获得超过141个赞
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:184万
展开全部
select order_no, cntr_no=(select cntr_no+'/' from CNTR where order_uid=a.order_uid for xml path(''))
from Order as a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式