不清楚你对数据的分类,treeview十层结构,应该对应10个分类字段,有10万个点,LEVEL是0是,查询是最简单的,LEVEL到9是,AND会用9个,LEVEL 0 级之间用 or 语句来连接,用户查询一个LEVEL0 下 的节点,如果不复选,查询语句最多9个AND,不清楚你的0级有多少个,1到9级,每级之间有多少个,如果客户复选查询,客户要选择多少个节点才会生成上万的AND呢? 如果按客户复选的都是最后一级(第9级),客户需要复选1000次以上,才会生成上万个AND,客户会这样复选吗?点击鼠标1000次,这要多长时间啊? 如果显示全部,一句就可以了。 如果0到9级之间内容没有重复,客户选择那级,直接查询此级对应的字段内容就可以,复选项之间用 OR 就可以了, AND 用不上了。
因为提供了全选的功能,所以用户只需点一下,就可以把所有节点选中,我的判断语句是选一个加一个and。
全选和没有条件显示全部数据不一样吗? 应该都是 selec * from Table 没必要再判断什么了?
SQL.Add('select * ');
SQL.Add('from users);
DELPHI中生成SQL语句,好像最长只有100多行,多了就会查询过于复杂。
http://community.csdn.net/Expert/topic/4615/4615553.xml?temp=.7266657
如果按客户复选的都是最后一级(第9级),客户需要复选1000次以上,才会生成上万个AND,客户会这样复选吗?点击鼠标1000次,这要多长时间啊?
如果显示全部,一句就可以了。
如果0到9级之间内容没有重复,客户选择那级,直接查询此级对应的字段内容就可以,复选项之间用 OR 就可以了, AND 用不上了。
应该都是
selec * from Table
没必要再判断什么了?
Type_ID Description
01 工业产品
0101 汽车
010101 载重汽车
010102 客车
0102 飞机
010201 直升机
010201 航天飞机
...
如果选择了所有的工业产品,那么就like "01%",如果选择的是所有的汽车,那么就like "0101%"。
也就是说,由于这样的编号可以直接构造出结构数,因此在全选的情况下可以减少代码量。
另外,如果某个家伙先全选,再移去自己不要的类型(我装软件的时侯就经常这么干),那么就需要比较一下是写一堆的like语句好呢还是写一个like语句再加上几个not语句好啦。
2)一般人选择不会超过15个的
3)全部用and 条件估计出来的条数 为 0 条
4)构架有问题
我前面说了关于节点的选择问题,用户可以点几下鼠标就选中大量的节点。另外您说先排序显示再加序号,查询时判断的说法我无法理解,现举个例子,请您解惑
Type_ID Description
001 工业产品
001001 飞行器
001001001 飞机
001001001001 军用飞机
001001001001001 战斗机
001001001001001001 a系列
001001001001001001001 xxx编号
001001001001001001900 xxxx编号
001001001001001999 z系列
001001001001020 运输机
001001001003 民用飞机
001001005 飞碟
这样可以一个树形结构,用户可以选中任意节点和该节点的子节点,也可以取消本级节电的选中或取消本级节点和其所有子节点的选中,现在我想查询所有飞行器中军用飞机除了运输机和战斗机a系列xxx编号所有的数据,sql语句该怎么写?