怎么写SQL使部分字段相同的纪录字出现一个? (200分)

  • 主题发起人 主题发起人 JJams_King
  • 开始时间 开始时间
J

JJams_King

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么写SQL使部分字段相同的纪录字出现一个?

有3个字段,怎么样写一个SQL语句使第一二个字段相同的纪录只出现一个。
结果要求有所有3个字段?
 
用视图行不?
 
你需要什么信息?(about visibroker)
 
能不能把SQL语句给我写出来。我对SQL实在是不在行。
谢谢先!
 
sorry,我手上现在没书,我实在想不起来应该怎么写,你急不急?
不急的话我过两天看能不能写出来给你。
 
有3个字段,怎么样写一个SQL语句使第一二个字段相同的纪录只出现一个。
结果要求有所有3个字段?
~~~~~~~~~~~~~~?
如果使第一二个字段相同的纪录只出现一个,第三个字段的纪录你需要哪一个出现呢?
总应该给个条件吧(max ,min ,......)
 
select max(id),uid1,money1 from test group by
convert(varchar(50),uid1)+convert(varchar(50),money1),uid1,money1
sql server 7 下通过

有可能可以这样 :)
 
or
select distinct convert(varchar(50),uid1)+convert(varchar(50),money1)......
 
感谢各位的支持,尤其是sportsman兄(应该没错吧)!本人对SQL的了解的确是甚为
皮毛,还想有劳sportsman兄指教所给的SQL中的函数是不是通用的,在什么环境中能
用。期待更多答案,谢谢!
 
select distinct convert(varchar(50),uid1)+convert(varchar(50),money1)......
好像不行,请问还有没有其他方法?

再过几天就给分数。
 
SELECT DISTINCT
 
with
T1(Field_1,Field_2,) as
(SELECT DISTINCT Field1,field2 from Table),
T2(Field_1,Field_3,) as
(SELECT DISTINCT Field1,field3 from Table)

select T1.Field_1,T1.Field_2,T2.Field_3
from T1 left join T2 on T1.Field_1=T3.Field_3
 
搞错了,最后一句是:
from T1 left join T2 on T1.Field_1=T3.Field_1
 
to JJams_King:
我的sql语句在sql server下调试通过。
select distinct convert(varchar(50),uid1)+convert(varchar(50),money1) from test
在只选一个字段的情况下通过。
我相信把两个字段组合成一个字段 再 group by 的方法,应该在别的数据库中也可以实
现,具体情况可能有所不同。
请告诉我您用的是什么库。我没翻到convert是不是标准的sql,但cast应该可以。
select max(idd),uid1,money1 from test group by
cast(uid1 as varchar(50))+cast(money1 as varchar(50)),uid1,money1
 
不知道tinytao的方法行不行。
不过,不管怎样,谢谢各位!
 
后退
顶部