我有表A
和表B
。表格A
包含产品数据,表格B
包含每种产品的图片。每张图片一行。
我需要创建一个SQL语句来循环遍历表A
,获取产品ID,然后连接结果集并将其插入表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-ize?
感谢新手!!!!
答案 0 :(得分: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查询中执行此操作,或者这是您可以在应用程序/演示文稿中处理的内容?
答案 1 :(得分:-1)
你可以尝试这些方法:
Select p.id, location || '/' ||......
From
(
Select * from tableA a, tableB b
Where a.id = b.id
)
我不知道您使用的是哪个DBMS,因此请查看哪个字符串con。是合适的