报错,对两张表进行联合查询

DaeMaN 2004-11-16 10:31:03
access数据库,使用ADO方式

现在有两张表,表A,表B,两张表中的字段都是一样的,分别是Name,Value,Time。现在我要根据字段Name对两表进行联合查询。

查询代码如下:

CString sql;
sql.Format("Select A.* B.* From A, B Into TempTable Where A.Name = '%s' AND B.Name = '%s'", AName, BName);

执行后报错,提示"Invalid Operation"

如果将sql语句换成
sql.Format("Select A.* B.* From A, B Where A.Name = '%s' AND B.Name = '%s'", AName, BName);

执行后没有报错,但是在后面的查询时报错,提示"Item not found in this collection"

请问应该如何解决?谢谢
...全文
81 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
DaeMaN 2004-11-16
  • 打赏
  • 举报
回复
DebugXP兄,感谢你的回复。

我按照你讲的试了一下,好象还是不行

CString sql = "Select * From (Select * From A union all select * from B) as TempTable";
rs.Open(dbOpenDynaset,sql);<-这一步报错,提示:"syntax error in FROM clorse"

还有,你最后写的那个'%ABC%'是什么意思?
jinxuliang 2004-11-16
  • 打赏
  • 举报
回复
sql语句写错了兄弟:
该这样写哈:
sql.Format("Select A.* B.* Into TempTable  From A, B Where A.Name = '%s' AND B.Name = '%s'", AName, BName);

barsteng 2004-11-16
  • 打赏
  • 举报
回复
呵呵,在Recordset中用"A.Value"试试?
DebugXP 2004-11-16
  • 打赏
  • 举报
回复
不能这样吧
就算不报错,结果能对吗?
try
select * from (
select * from a
union all select * from b) as TempTable Where [name] like '%ABC%'

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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