100求一个Distinct的问题,项目急,,,,救求俺,,,,大侠们

xiangding 2003-09-15 02:56:40
我用下面这条语句,报错了:
SELECT DISTINCT * FROM A1 left join A2 on A1.name=A2.name

因为上面的查询中查出来了重复的记录,我的本意是想去掉重复的,可是加上Distinct后却报错了,说在查询中distinct无法查询text,ntext,image字段???

我也明白原因,只是我想去掉查询中的重复的(最好是去掉除name(姓名)以外都为空的记录)记录,还有别的方法吗??
...全文
22 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
yoki 2003-09-16
  • 打赏
  • 举报
回复
表结构有问题
liuyun2003 2003-09-16
  • 打赏
  • 举报
回复
你的问题似乎不是DISTINCT语句的问题。
xiangding 2003-09-16
  • 打赏
  • 举报
回复
A1表结构为:

字段名 字段类型

姓名 char(8)
个人照片 image
个人简介 text

A2表结构为:
字段名 字段类型

姓名 char(8)
家人姓名 char(8)
个人照片 image
个人简介 text

我用下面这条语句,报错了:
SELECT DISTINCT * FROM A1 left join A2 on A1.姓名=A2.姓名

因为上面的查询中查出来了重复的记录,我的本意是想去掉重复的,可是加上Distinct后却报错了,说在查询中distinct无法查询text,ntext,image字段???

我也明白原因,只是我想去掉查询中的重复的(最好是去掉除name(姓名)以外都为空的记录)记录,还有别的方法吗??


宸瑜 2003-09-16
  • 打赏
  • 举报
回复
好象是表结构的问题
readersm68 2003-09-16
  • 打赏
  • 举报
回复
select name,Count(*) as C From Yourtable
Where C=1 Group BY Name
readersm68 2003-09-16
  • 打赏
  • 举报
回复
select name,Count(*) C From Yourtable
Where C=1 Group BY Name
IceRiver_11 2003-09-16
  • 打赏
  • 举报
回复
查姓名重复就好了啊!
DJMPH 2003-09-16
  • 打赏
  • 举报
回复
效率问题。
Sorder 2003-09-16
  • 打赏
  • 举报
回复
SELECT * FROM A1 left join A2 on A1.name=A2.name group by A1.name,A2.Name,A.其他字段,A2.其他字段
xiangding 2003-09-16
  • 打赏
  • 举报
回复
我只是想问为何Distinct不能查image和text类型?
txlicenhe 2003-09-15
  • 打赏
  • 举报
回复
Select distinct f1,f2,... from a1 left join A2 on A1.name=A2.name
字段列表中不要包含类型为text,ntext,image的字段
brook_huang 2003-09-15
  • 打赏
  • 举报
回复
SELECT DISTINCT * FROM A1 ,A2 where A1.name*=A2.name
dafu71 2003-09-15
  • 打赏
  • 举报
回复
SELECT DISTINCT A1.* FROM A1 ,A2 where A1.name=A2.name
CrazyFor 2003-09-15
  • 打赏
  • 举报
回复
表结构贴出来,及想要得到什么样的数据.
dafu71 2003-09-15
  • 打赏
  • 举报
回复
SELECT DISTINCT A1.* FROM A1 ,A2 where A1.name=A2.name
dafu71 2003-09-15
  • 打赏
  • 举报
回复
SELECT DISTINCT * FROM (select * from A1 left join A2 on A1.name=A2.name) as xxx
bitfubin 2003-09-15
  • 打赏
  • 举报
回复
SELECT DISTINCT * FROM A1 ,A2 where A1.name=A2.name 不就行了吗??

arrow_gx 2003-09-15
  • 打赏
  • 举报
回复
如果你的表里有自动增加字段的话。可以用一下的SQL
select * from a1 left join a2 on a1.name=a2.name
where a1.id not in (select id from a1 group by a1.t1.a1.t2,a1.t3......)

其中t1,t2,t3 分别代表a1表里要求进行排除重复的字段
standy 2003-09-15
  • 打赏
  • 举报
回复
在where条件里筛选好了
amtyuranus 2003-09-15
  • 打赏
  • 举报
回复
select * from (SELECT DISTINCT * FROM A1 left join A2 on A1.name=A2.name) as a
where a......

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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