主题:  显示记录不完全问题?!!

mezi

职务:普通成员
等级:1
金币:0.0
发贴:141
#12002/4/5 11:59:12
我在做按照职位大小排列时,我给记录集定义:
SELECT *
FROM basic,fZhiw
WHERE fZhiw.fZhiw=basic.fZhiw
ORDER BY fZhiw.fzhiwID
(两个表:basic,fZhiw分别为个人的详细资料和职务表(两个字段,一个数字的一个职务名称的))
可当有的人没有职务时,则最后显示不出来,而且有的人的职务名并非和表职务的名字完全对上,比如说一个人是副主任,副书记,则也显示不出来,我如何解决?
我怎么写才能把没职务的排最后,而职务名称基本对上的不一定的完全字一样的也按包含算?
谢谢!



有饭

职务:普通成员
等级:2
金币:10.0
发贴:669
#22002/4/5 12:57:02
个人资料里面应该建一个字段为职务的ID
然后用这个字段和职务ID的字段关联



mezi

职务:普通成员
等级:1
金币:0.0
发贴:141
#32002/4/5 14:00:49
是啊,我是这么做的啊。
可有:比如
比如职务级别里有处长,可详细资料里某人职位是处长,副主席,结果就显示不了这个记录了。因没和处长完全对上。
这样我希望做到包含这一个处长的就可以把他显示出来了
恩,第一个我先试试先!



mezi

职务:普通成员
等级:1
金币:0.0
发贴:141
#42002/4/5 14:36:43
SELECT *
FROM basic left join fZhiw on fZhiw.fZhiw=basic.fZhiw
ORDER BY fZhiw.fzhiwID
这么写结果报错啊?
怎么搞的呢?说语法不对啊!?



有饭

职务:普通成员
等级:2
金币:10.0
发贴:669
#52002/4/5 15:04:24
mezi在上个帖子中说
引用:
SELECT *
FROM basic left join fZhiw on fZhiw.fZhiw=basic.fZhiw
ORDER BY fZhiw.fzhiwID
这么写结果报错啊?
怎么搞的呢?说语法不对啊!?


from basic left join 你这是做什么?在ASP里面,关联数据不是这样的!
比如basic 里面有下面的字段,ID,姓名,职务ID ,然后在fZhiw中有 职务ID,职务名称字段。在fZhiw中有一条记录职务ID为4,职务名称为“处长” ,在basic里面有张三是处长,那么职务ID里面就应该是4
最后查询语句还是你开始那样写,只是把字段名相应的改一下!



mezi

职务:普通成员
等级:1
金币:0.0
发贴:141
#62002/4/6 13:49:31
啊哦``没看明白~
外连接不就这么写的吗?
我看书里也是这么写的啊~?!?



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:1480
#72002/4/6 20:16:01
这个问题拖太久了.既然没好的解决方式,我来终结吧.
先贴段以前的代码:

strTitle    =    trim(rsHigh("title"))
strNumber    =    trim(rsHigh("number"))
strUnit    =    trim(rsHigh("unit"))
strUnit    =    strUnit+" "
strTitle    =    Split(strTitle,"#")
strNumber    =    Split(strNumber,"#")
strUnit    =    Split(strUnit,"#")    
For i=0 to Ubound(strTitle)
    Response.Write(strTitle(i)&strNumber(i)&strUnit(i)&" ")
Next

其中关键是用Split函数,
这个函数的意思是讲一个字符串按某个字符分割成若干的数组.
比如这里就是按#分割.
然后用FOR循环输出,但要保证不要超出数组上下界.

在这里使用也是不得以为之(因为项目经理的数据库设计的太烂了)
同时这个技巧如灵活掌握是很有用的.

与这个函数对应的函数是Join,即将一个数组以特定的字符连接成字符串.

同时介绍JSCRIPT中的写法:
与VB有点不同:
String.split("char") /// 注意大小写
如果有用JSCRTPT写ASP的可以参照.
另符一个JSCRIPT控制SELECT表单的效果供参考.
我在其中也使用了split 函数:
asp.6to23.com/cocoon/deepdark/sele.html

/* THE END */

编辑历史:[这消息被deepdark编辑过(编辑时间2002-04-06 20:16:14)]