简体   繁体   English

如何从选择语句中的联接表中查询多个值?

[英]How to query multiple values from a joined table in a select statment?

I've the following tables in a spatialite database: 我在spatialite数据库中具有以下表格:

This tables are filled as follows: 该表填写如下:

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}   

What I need ist the following: 我需要以下几点:

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

I found a code-example (already adapted for my needs) for a similar problem but it returns an error and I don't realy know whrer I'am wrong: 我找到了一个类似问题的代码示例(已经适应我的需要),但是它返回错误,我真的不知道我错了吗:

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;

Is this possible? 这可能吗? Thanks for your answers!! 感谢您的回答!
Patrick 帕特里克

SQLite's SELECT statement doesn't support any syntax like "for xml path()". SQLite的SELECT语句不支持“ for xml path()”之类的任何语法。

In a SQL database, you should expect to store values like this 在SQL数据库中,您应该期望存储这样的值

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

or like this. 或像这样

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

Exceptions to this are relatively rare. 例外情况很少见。 (And supported by a dbms that provides xml functions or array functions.) (并由提供xml函数或数组函数的dbms支持。)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM