SQL:将相关表中的所有数据添加到列中

发布于 2024-12-10 14:54:29 字数 1521 浏览 2 评论 0原文

我有这两个简单的表格:

发票:
身份证号      日期      ...
1     2011 年 1 月 1 日
2     1/2/2011

发票_产品:
发票ID      产品 ID      数量
1                101          1000
1                200             50
1                310          125
2                101          2000年
2                222         1000

我想要一个具有以下结果的选择查询:

invoiceId     日期       产品总和
1           2011 年 1 月 1 日     101,200,310
2           2011 年 1 月 2 日          101,222

我的问题是如何将选择查询的结果添加到invoice_Products 表中以逗号分隔的单列。

谁能帮助我吗?

提前致谢...

i have these two simple tables:

Invoices:
ID       Date      ...
1     1/1/2011
2     1/2/2011

Invoice_Products:
invoiceId     productId     Quantity
1                      101           1000
1                      200               50
1                      310             125
2                      101           2000
2                      222           1000

I want a select query that will have the following result:

invoiceId      date        sumProducts
1              1/1/2011     101,200,310
2              1/2/2011            101,222

my problem is how to add the result of the select query to invoice_Products table to a single column comma delimeted.

can anyone help me?

thanks in advance...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ゃ懵逼小萝莉 2024-12-17 14:54:30

您正在寻找 GROUP_CONCAT() 函数。像这样的东西:

SELECT  Invoice_Products.invoiceId,
        Invoices.Date,
        GROUP_CONCAT(Invoice_Products.productId) AS productIds
  FROM Invoice_Products
  JOIN Invoices ON Invoice_Products.invoiceId = Invoices.ID
 GROUP BY invoiceId
;

在此处查看结果。

You're looking for the GROUP_CONCAT() function. Something like this:

SELECT  Invoice_Products.invoiceId,
        Invoices.Date,
        GROUP_CONCAT(Invoice_Products.productId) AS productIds
  FROM Invoice_Products
  JOIN Invoices ON Invoice_Products.invoiceId = Invoices.ID
 GROUP BY invoiceId
;

See the result here.

旧人 2024-12-17 14:54:30

试试这个。

SELECT invoiceID,DATE_FORMAT(now(),'%m/%d/%Y') as `DATE`,GROUP_CONCAT(PRODUCTID) as `sumProducts`
  FROM invoice_products
 GROUP BY invoiceID;

TRY this.

SELECT invoiceID,DATE_FORMAT(now(),'%m/%d/%Y') as `DATE`,GROUP_CONCAT(PRODUCTID) as `sumProducts`
  FROM invoice_products
 GROUP BY invoiceID;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文