0

我在空间数据库中有以下表格:

该表填写如下:

boden_verd:   
boden_verd_ID,boden_verd   
1,value1   
2,value2   
3,value3   

baumkataster:   
baum_ID, boden_verd      
1,{2}   
2,{1,3}   
3,{1,2,3}   

我需要的是以下内容:

baum_ID,boden_verd   
1,{value2}   
2,{value3,value3}   
3,{value1,value2,value3}   

我找到了一个类似问题的代码示例(已经适应了我的需要),但它返回了一个错误,我真的不知道我错了:

SELECT baumkataster.baum_ID AS baum_ID,

stuff((select  DISTINCT  ', ' +  boden_verd.boden_verd
             from boden_verd
             WHERE ','+baumkataster.boden_verd+',' LIKE '%,'+boden_verd.boden_verd_ID+',%'
             for xml path(''),type).value('.','nvarchar(max)'), 1, 2, '' )  AS boden_verd 

FROM baumkataster;

这可能吗?谢谢你的回答!!
帕特里克

4

1 回答 1

0

SQLite 的 SELECT 语句不支持“for xml path()”之类的任何语法。

在 SQL 数据库中,您应该期望像这样存储值

baumkataster:   
baum_ID  boden_verd      
1        2
2        1
2        3
3        1
3        2
3        3

或像这样。

baumkataster:   
baum_ID  boden_verd      
1        value2   
2        value3
2        value3
3        value1
3        value2
3        value3

例外情况相对较少。(并由提供 xml 函数或数组函数的 dbms 支持。)

于 2014-01-27T14:45:40.943 回答