droller 发表于 2010-5-25 15:30:40

zmud里%mapquery()的用法

看帮助里说,括号里写SQLstring

如果要查询房间名叫“北大街”,则%mapquery(" LIKE '北大街'")
回应顺利:66|69|76|79|86

但如果只想搜索到,比如扬州的北大街,那么该怎么写呢?比如扬州的地图是zone 1:扬州
我写成%mapquery("ZoneId='1' AND LIKE '北大街'")
但是发现一个都找不到。
请教应该怎么写
bow

bluse 发表于 2010-5-25 15:38:11

不懂。难道Zoneld就不要加 [ ] 了?

droller 发表于 2010-5-25 15:45:08

原帖由 bluse 于 2010-5-25 03:38 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
不懂。难道Zoneld就不要加 [ ] 了?

多谢提点
尽管发现[]并无意义,但更改为%mapquery("Zoneid LIKE '1' AND NAME LIKE '北大街'"),就行了
bow

很奇怪,为啥一定要用LIKE

maper 发表于 2010-5-25 18:07:49

试试这两个结果会怎么样
%mapquery("Name LIKE '大街'")
%mapquery("Name = '大街'")

droller 发表于 2010-5-25 18:20:21

两者效果一样,都能够识别

只是LIKE也可以比如 "Name LIKE '%大街%'"
而=的形式则不行

另外还遇到一个问题,如果搜索的是变量,该怎么写呢?   "Name LIKE @place"    OR    "Name LIKE '@place'"
但郁闷的是两个写法都无法识别。。。。。
求教



刚调整成用%concat连接,效果ok了,呵呵

[ 本帖最后由 droller 于 2010-5-25 06:27 PM 编辑 ]

killunix 发表于 2010-5-26 00:08:15

变量要这样写:
%mapquery("= '"%replace(@room, "'", "~'~'")"' AND ="%roomzone())
Room为变量,Zoneid为区域ID

[ 本帖最后由 killunix 于 2010-5-26 12:09 AM 编辑 ]

droller 发表于 2010-5-26 14:38:07

bow killunix
受教了

dgda 发表于 2010-7-1 08:52:40

搭车请教

我如果已经得到了zmud 7.21的automap里的房间号了,我如何得到从我当前房间到这个得到房间号的房间的路径,并执行呢?

killunix 发表于 2010-7-1 10:32:06

#exe %pathfrom(currentroomid,aimroomid)

[ 本帖最后由 killunix 于 2010-7-1 10:34 AM 编辑 ]

dgda 发表于 2010-7-1 13:43:35

感谢

继续提问,呵呵,望指教

我走到目的地了,可地图里的当前房间还不是我实际上的房间啊,这个怎么弄?#teleport不知道怎么用。

[ 本帖最后由 dgda 于 2010-7-1 07:07 PM 编辑 ]
页: [1] 2
查看完整版本: zmud里%mapquery()的用法