首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL查询多个选择和组合

MySQL查询多个选择和组合
EN

Stack Overflow用户
提问于 2018-08-12 15:54:56
回答 1查看 42关注 0票数 1

我有一个名为MM(物料移动)的主表和一个名为MI (物料物料)的子表,我进行了一次查询,以选择具有特定条件的所有MI记录,并且MI中的每个记录都连接到一个名为stock的主列表表,以获得物料价格。现在,我需要获得这些项目中的每一个用于购买的帐户代码。所以我回到po (采购订单)表,它也有一个叫做polines表的子表,这个polines表有stockID,它也在MI表中。

代码语言:javascript
运行
复制
MM
MMID , Sender, NewLocation,Status 

MI
MIID, MMID, StockID, Qty1

stock
StockID, Description, UPrice

polines
PLID, POID, StockID, UPrice, AccountCode


SELECT *
FROM (mm
JOIN mi ON mi.MMID = mm.MMID)
JOIN stock ON mi.StockID = stock.StockID
WHERE mm.Status = 'Issue'

上面给出了如下所示的正确记录(在选择列之后,我不需要全部):

代码语言:javascript
运行
复制
Sender  New Location  StockID  Description    UnitPrice
------  -----------   -------   ----------     ---------
James    DC1           A1       Generator g4     450

但我需要的是:

代码语言:javascript
运行
复制
Sender  New Location  StockID     Description      UnitPrice    account code
------  -----------   ----------  ----------       ---------    ------------
James    DC1           A1         Generator g4       450         B001,B003

基本上,帐户代码应该组合或分组到stockID,但是

这是polines表的样子:

代码语言:javascript
运行
复制
StockID       Description    Account Code 
----------     -------       ----------   
   A1       Generator g4     B001
   A1       Generator g4     B003
   A2       Pipe D3          B004

我不确定这是否可能在MySQL中,我可以用PHP,但我真的想提高我的MySQL技能,所以任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-12 16:08:43

使用group_concat函数

代码语言:javascript
运行
复制
SELECT Sender,NewLocation,stock.StockID,polines.Description,UPrice, group_concat(polines .AccountCode separator ',')   
FROM mm
JOIN mi ON mi.MMID = mm.MMID
JOIN stock ON mi.StockID = stock.StockID
join polines on stock.StockID=polines.StockID
WHERE mm.Status = 'Issue'
group by Sender,NewLocation,UPrice,stock.StockID,polines.Description
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51806860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档