根据特定属性从数据库对象构建列表

时间:2014-06-26 14:22:16

标签: c# html asp.net-mvc-3 sqlite

这个问题很难说,但这里有......

我正在网站上搜索某些建筑物。所以我在我的sqlite数据库中“构建”了具有以下属性的对象:State,City,County,Zip

当用户第一次到达页面时,他们将指示从列表中选择状态。我希望能够根据我的数据构建此列表。例如,如果我的数据库中没有一个具有爱荷华州属性的对象,我不希望爱荷华州出现在列表中。

我知道我可以获取所有数据并在每个数据上滚动状态属性以检查状态并为每个新状态创建一个列表项,但我不希望得到所有我的数据,除非它是这是唯一的方法。

2 个答案:

答案 0 :(得分:1)

要获取数据库中存在的那些状态的列表,请使用如下查询:

SELECT DISTINCT State
FROM MyTable

要获取爱荷华州数据库中存在的城市列表,请使用以下查询:

SELECT DISTINCT City
FROM MyTable
WHERE State = ?

要使这些查询对所有四个级别都有效,您需要这样的索引:

CREATE INDEX whatever ON MyTable(State, City, Country, Zip);

答案 1 :(得分:1)

我的朋友,你必须检查查询的sql,并在你的搜索功能给出一些查询,如:

SELECT DISTINCT State FROM MyStateTable

此查询将显示所有状态差异和非重复

如果您有其他子查询,则必须执行此操作

SELECT DISTINCT City FROM MyCityTable WHERE State = (here goes your variable where you make your first sql transaction for states)

然后你压缩所有信息并显示在你的视图中,继续sql查询很棒...... :-D