sqlite 在SQL中单行显示行[已关闭]

uelo1irk  于 2023-03-03  发布在  SQLite
关注(0)|答案(1)|浏览(163)

18小时前关门了。
Improve this question
需要一些SQL方面的建议your text该表为enter image description here
发票编号|姓名|产品|行项目101|约翰|A类|四十五一百零一|约翰|乙|四十六一百零一|约翰|C级|五十七一百零二|挪亚|A类|二十一百零三|奥利佛|C级|十五一百零三|奥利佛|E级|79
结果应显示为enter image description here
| 发票编号|姓名|产品|行项目|
| - ------|- ------|- ------|- ------|
| 一百零一|约翰|A、B、C|四十五、四十六、五十七|
| 一百零二|挪亚|A类|二十个|
| 一百零三|奥利佛|C、E类|十五、七十九|
查询:

select i .invoice no,
       d. names,
       p. product
from   invoices i
left join details d on d.invoiceid=i.id
left join line items li on li. productid = p.id
left join products p on p. invoice id = i.id

谢谢!

6yjfywim

6yjfywim1#

您可以像这样使用“group_concat()”函数:

select 
invoiceno,
names,
group_concat(product)
from(
  select i.invoiceno,
  d.names,
  p.product
  from invoices i
  left join details d on d.invoiceid=i.id
  left join products p on p. invoiceid = i.id) t
group by invoiceno

您也可以尝试在group_concat函数中添加“separator”,它可以根据您的喜好显示分隔符。例如:group_concat(产品分隔符“&”)

相关问题