起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 352|回复: 7

【搞定】报错信息:name not unique in this context,是怎么回事儿?**

[复制链接]
发表于 2007-1-17 13:09:33 | 显示全部楼层 |阅读模式
rt
回复

使用道具 举报

发表于 2007-1-17 13:24:00 | 显示全部楼层
做什么操作出现这个错误的?请说具体点,谢谢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-17 13:28:13 | 显示全部楼层
保存,打开都会报错
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-17 13:38:52 | 显示全部楼层
找到原因了,但是不知道怎么解决,就源于一个SQLDataSet的SQL
SQL中我是这么写的:
select
  id, field1,
  (select sum(field1) from table1 sub where sub.id <= main.id)
from table1

这么写我是为了计算field1的累计值

由于SQL中的子查询也是同一张表,所以一保存就报错,但是在查询分析器中,或者预览都是没有问题的
回复 支持 反对

使用道具 举报

发表于 2007-1-17 14:00:06 | 显示全部楼层
在子查询中用别名试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-17 14:03:20 | 显示全部楼层
刚才少写了一点,我用了别名
select
  id, field1,
  (select sum(field1) from table1 sub where sub.id <= main.id)
from table1 main
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-17 14:05:38 | 显示全部楼层
后来我有拿另外一张表尝试了同样的SQL(别的表,但形式一样),就没有报错

我真的奇怪了

我能确定问题由于子查询,因为只要删除子查询就不报错

我很想知道name not unique in this context是什么错误
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-17 14:17:39 | 显示全部楼层
不好意思,我知道怎么回事儿了

因为在修改SQL之前,我加了一个同名的临时字段,然后用程序给该字段赋值

之后我想用数据库实现计算(为了速度考虑),但我忘记删除该临时字段,因此就重名了

结论:SQL的字段与临时字段重名了

结贴!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 19:56 , Processed in 0.044988 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表