急呀!,在线等待......想做一个DW,想找到某个字段值(long型)in 什么值中的记录

mmjhcg 2003-08-19 12:43:14
想做一个DW的SQL语句为
SELECT v_get_erea_type_kh.kh_name,
v_get_erea_type_kh.kh_RelationName,
v_get_erea_type_kh.kh_RelationTel,
v_get_erea_type_kh.kh_RelationMobile,
v_get_erea_type_kh.kh_RelationOfficeTel,
v_get_erea_type_kh.kh_RelationBP,
v_get_erea_type_kh.kh_RelationAddress,
v_get_erea_type_kh.kh_RelationPostcode,
v_get_erea_type_kh.availability,
v_get_erea_type_kh.kh_type
FROM v_get_erea_type_kh
WHERE ( v_get_erea_type_kh.gc_erea_id in ( :erea ) ) AND
( v_get_erea_type_kh.gc_type_id in ( :type ) ) AND
( v_get_erea_type_kh.personel_id in ( :personel ) )
但erea,type,personel是一个动态生成的字符串(格式为a,b,c,d),现在我不知是DW中WHERE中采用IN的方式,如何设置才对.在erea,type,personel字符串的格式,有什么要求呀?

...全文
26 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuxhrabbit 2003-08-19
  • 打赏
  • 举报
回复
locate(:erea,v_get_erea_type_kh.gc_erea_id) > 0
mmjhcg 2003-08-19
  • 打赏
  • 举报
回复
SQL2000
liuxhrabbit 2003-08-19
  • 打赏
  • 举报
回复
你是什么数据库?
这个函数就是PB中的POS()功能,去查你使用的数据库的相应函数就是了
mmjhcg 2003-08-19
  • 打赏
  • 举报
回复
我在DW设计中的WHERE标签中,输入 locate(:erea,v_get_erea_type_kh.gc_erea_id),判断选择>,值输入0,PB提示locate不是可以识别的函数.
ljy607 2003-08-19
  • 打赏
  • 举报
回复
给你一段代码看看:

string ls_sql,ls_old
ls_old = dw_3.getsqlselect()

for i = 1 to wst_stru.i
if i=1 then
ls_temp = "'"+wst_stru.s[1]+"'"
ls_mc = wst_stru.s1[1]
else
ls_temp = ls_temp+','+"'"+wst_stru.s[i]+"'"
ls_mc = ls_mc +'、'+wst_stru.s1[i]
end if
next

ls_sql = ls_old + " and substr(a.dgr,1,6) between '"+as_qs+"'"+ " and '"+as_js+"'" &
+" and a.dlsid in ( " +ls_temp+")"

dw_3.setsqlselect(ls_sql)
li_rowcount = dw_3.retrieve()
dw_3.setsqlselect(ls_old)
ljy607 2003-08-19
  • 打赏
  • 举报
回复
用dw_1.getsqlselect()得到dw_1的sql语句,然后在程序中控制生成WHERE条件,将新生成的SQL语句用DW_1.SETSQLSELECT(),DW_1.RETRIEVE(),就可以了
liuxhrabbit 2003-08-19
  • 打赏
  • 举报
回复
数据库中字段gc_erea_id的值是变量:erea中内容的一部分
mmjhcg 2003-08-19
  • 打赏
  • 举报
回复
能不能说明一点

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧