[英]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.