1

我有一张桌子A和一张桌子B。表A包含产品数据,表B包含每个产品的图像。每张图片一行。

我需要创建一条 SQL 语句来遍历 table A,获取产品 ID,然后连接结果集并将其插入 table 的一个字段中A

Table A

P-ID, Value1, Value2, Value3,    ImageLocation
35    Name    Price   description 

B

P-ID, ImageLocation
35    /upload/directory/imagename.jpg
35    /upload/directory/imagename2.jpg
35    /upload/directory/imagename3.jpg

最终结果:

TableA:
P-ID, Value1, Value2, Value3,       ImageLocation
35    Name    Price   description   /up/dir/image.jpg,/up/dir/image2.jpg,/up/dir/image3.jpg

我到底如何对它进行 SQL 化?

感谢新人!!!!

4

2 回答 2

0

多值列不受欢迎......并且在 Sql Server 中没有一种优雅的方式来执行此操作 - 但是,您可以使用FOR XML PATH

SELECT PID, Value1, Value2, Value3, STUFF((
  SELECT ',' + ImageLocation
  FROM TableB b
  WHERE b.PID = a.PID
  FOR XML PATH('')
), 1, 1, '') AS ImageLocation
FROM TableA a

Sql 小提琴

但同样,您真的需要在 Sql 查询中执行此操作,还是您可以在应用程序/演示文稿中处理?

于 2013-02-25T22:34:05.653 回答
-1

您可以尝试以下方法:

Select p.id, location || '/' ||......
From
(
Select * from tableA a, tableB b
Where a.id = b.id
)

我不知道您使用的是哪个 DBMS,所以请查看哪个字符串 con。是适当的

于 2013-02-25T22:17:55.143 回答