我有一个具有某些属性(名称,经度,纬度等)的对象位置,并且其中一个属性是对象“水平线”。选择加入对象的属性
地平线有Dictionary <float,float>
(组AZIMUT高的地方的地平线点)
我想建立一个表来存储对象“地方”,我也有物体“地平线”的烦恼
由于我不知道字典中有多少点,我不能只为每个点建立一个列。
所以我觉得我必须创建另一个表 “dbo.horizons” 与列
- 地名-varChar
- AZIMUT - 真正
- 高度 - 真正
,然后使用JOIN来选择所有点
但我不明白如何构建命令
如果我参加一个这样的命令:
SELECT places.name, places.longitude, places.latitude...,
horizon.azimut, horizon.height
FROM places LEFT JOIN dbo.horizons
ON places.name = dbo.horizons.namePlace
我怎么看它?
我用dataRedaer.Read()
来读取数据库中的一行。
我如何获得所有积分并只建立一个地方?
的并且在插入了同样的问题,我如何建立一个INSERT命令插入一个地方与地平线
感谢
我不能同时拥有一行所有的点? –
为了防止将来出现问题,您还应该在查询中添加一个ORDER BY,以保证地名是一起排列的。否则,如果有人对您的SQL表进行了更改,查询优化器可能会决定以不同的顺序将您的结果发送回去。 – DeadZone
你可以,但这是一个不同的(也是更复杂的)SQL语句。这个SO问题显示它是如何完成的:http://stackoverflow.com/questions/194852/concatenate-many-rows-into-a-single-text-string –