请问一个表设计的有关问题
请教一个表设计的问题sql server 2005:一个很简单的表设计问题,请教各位。本人数据库设计方面很菜。有一个楼
请教一个表设计的问题 sql server 2005: 一个很简单的表设计问题,请教各位。本人数据库设计方面很菜。 有一个楼盘项目表,存储楼盘的各种信息,其中有个一个学区属性,该字段可能值是:幼儿园、小学、中学中的某1个,或是其中的某2个或是全部。 现在的问题就是如何设计这个楼盘项目表,使得搜索学区时,效率较高的查询出结果来,注意:学区搜索条件有可能是多种学区,如搜索同时有幼儿园和小学的楼盘项目。[解决办法] 如果学区属性不太会变的话,建议建一张学区属性表。 Table 编号 学区属性 0 无 1 幼儿园 2 小学 3 中学 4 幼儿园、小学 5 幼儿园、中学 6 小学、中学 7 幼儿园、小学、中学 然后在楼盘项目表里放编号。[解决办法] 楼盘ID 学区ID 1 1 12 21 23 24 31 楼盘ID 楼盘 11号楼 22号楼 33号楼 学区ID 学区 1幼儿园 2小学 3中学 4少年宫 做好索引,链接即可。[解决办法]
探讨 sql server 2005: 一个很简单的表设计问题,请教各位。本人数据库设计方面很菜。 有一个楼盘项目表,存储楼盘的各种信息,其中有个一个学区属性,该字段可能值是:幼儿园、小学、中学中的某1个,或是其中的某2个或是全部。 现在的问题就是如何设计这个楼盘项目表,使得搜索学区时,效率较高的查询出结果来,注意:学区搜索条件有可能是多种学区,如搜索同时有幼儿园和小学的楼盘项目。[解决办法] 探讨 sql server 2005: 一个很简单的表设计问题,请教各位。本人数据库设计方面很菜。 有一个楼盘项目表,存储楼盘的各种信息,其中有个一个学区属性,该字段可能值是:幼儿园、小学、中学中的某1个,或是其中的某2个或是全部。 现在的问题就是如何设计这个楼盘项目表,使得搜索学区时,效率较高的查询出结果来,注意:学区搜索条件有可能是多种学区,如搜索同时有幼儿园和小学的楼盘项目。[解决办法] 探讨 sql server 2005: 一个很简单的表设计问题,请教各位。本人数据库设计方面很菜。 有一个楼盘项目表,存储楼盘的各种信息,其中有个一个学区属性,该字段可能值是:幼儿园、小学、中学中的某1个,或是其中的某2个或是全部。 现在的问题就是如何设计这个楼盘项目表,使得搜索学区时,效率较高的查询出结果来,注意:学区搜索条件有可能是多种学区,如搜索同时有幼儿园和小学的楼盘项目。[解决办法] 传统的方法要设置三张表, 一张用于保存学区, 一张用于保存楼盘, 第三张用于保存学区和楼盘的多对多关系
[解决办法] 你可以把选择的学区的ID都放到临时表#t, 然后类似这样写, 能找到同时有幼儿园和小学的楼盘
SQL codeselect @c = count(*) from #tselect * from 楼盘 t join( select t1.楼盘ID from 楼盘 t1 join 楼盘学区关系 tx on tx.楼盘ID = t1.楼盘ID join #t on #t.学区 = tx.学区 group by t1.楼盘ID having count(*) = @c ) a on a.楼盘ID = t.楼盘ID