当前位置: 代码迷 >> VFP >> 一个在数据库中,另一个表在内存中,怎么写命令
  详细解决方案

一个在数据库中,另一个表在内存中,怎么写命令

热度:4719   发布时间:2013-02-26 00:00:00.0
一个在数据库中,另一个表在内存中,如何写命令
TEXT TO m.changekGSQLCmd NOSHOW  
select A.*,
B.dep_mess as 部门名称,
C.dep_code as 部门编码 
  FROM ZhaGongGongShi A 
  LEFT JOIN department B ON A.depid=B.dep_id 
  LEFT JOIN department C ON A.depid=C.dep_id 
ENDTEXT

SQLEXEC(nhandle,m.changekGSQLCmd,"ZhaGongGongShi_JE")


问题是:
VFP9.0+SQL时,如果上述2个表:ZhaGongGongShi 、department 都在同一个数据库中,上述命令正常运行,没有任何问题。

现在的问题是:ZhaGongGongShi在数据库中,而department是在内存中的一个表。

那么,如何修改上述命令呢?


请老师指导,谢谢。

------解决方案--------------------------------------------------------
本帖最后由 apple_8180 于 2012-12-01 14:05:44 编辑
引用:
是这样的,说来话长

department       是 aaa数据库中一个表
ZhaGongGongShi   是 bbb数据库中一个表

二个表,不在同一个数据库中

我只好,先将department,读入内存中..
aaa 数据库 和 bbb 数据库如果是在同一个 电脑上的数据库,如都是 A 电脑上 SQL Server 中的数据库,nhandle 是你的连接 aaa 数据库的句柄,这个句柄的数据库用户也有权限访问 bbb 数据库,就可以直接这样使用:
TEXT TO m.changekGSQLCmd NOSHOW
Select A.*,
B.dep_mess As 部门名称,
C.dep_code As 部门编码
From ZhaGongGongShi A
Left Join bbb.dbo.department B On A.depid=B.dep_id
Left Join bbb.dbo.department C On A.depid=C.dep_id
ENDTEXT

SQLExec(nhandle,m.changekGSQLCmd,"cZhaGongGongShi")
不用先把 department 取到内存中了。
  相关解决方案