有个产品表和一个产品图片表 一个产品对应多张图片 做左连接后得到以下数据
id(主键) 产品名称 产品图片
1 空调 1w.jpg
1 空调 2.jpg
1 空调 3d.jpg
2 冰箱 NULL(没有产品图片)
3 电视 11.jpg
3 电视 12.jpg我想把重复行去掉 图片可以随便得到一张就可以
如:想要的结果
id(主键) 产品名称 产品图片
1 空调 3d.jpg
2 冰箱 NULL
3 电视 11.jpg能不能用一条sql语句直接查出来 不行的话有什么办法没!谢谢
id(主键) 产品名称 产品图片
1 空调 1w.jpg
1 空调 2.jpg
1 空调 3d.jpg
2 冰箱 NULL(没有产品图片)
3 电视 11.jpg
3 电视 12.jpg我想把重复行去掉 图片可以随便得到一张就可以
如:想要的结果
id(主键) 产品名称 产品图片
1 空调 3d.jpg
2 冰箱 NULL
3 电视 11.jpg能不能用一条sql语句直接查出来 不行的话有什么办法没!谢谢
解决方案 »
- 关于数据筛选的问题
- sql server 2000 判断两个varchar字段相等 格式为"1,2,3,"
- 一个插入编号的问题
- 菜鸟级问题,SQL Server时间类型怎么表示?
- sql面试题 不会做 大侠都进来看看吧
- 数据库出现以下问题:由于文件 ID 3(位于数据库'Text' 中)无效,所以未能打开FCB。
- sql7.0里面的3120错误是怎么回事,怎么解决啊?
- 复制的问题碰到的问题,我花了一天的时间在它上面,还是没有弄好。。
- 如何统计某个字段中的某个字符数量,有无函数,急急!!
- 各位高手急救:ACCESS数据库共享产生的问题
- 提醒:表修改后,视图不会自动更新列!
- 数据库中字段自动加1的问题
from ta
group by id,产品名称
话说你的主键能重复??select id,[产品名称],max([产品图片])
from ta
group by id
WHERE NOT EXISTS(SELECT 1 FROM TB WHERE id=T.ID AND 产品图片>T.产品图片)
--> Author : js_szy
--> Target : 各位大大,小卒就是想要一朵花
--> Date : 2009-12-01 11:34:04
--> Version: SQL Server 2005
---------------------------------------------
--> 测试数据: @tb
declare @tb table (id int,产品名称 varchar(4),产品图片 varchar(6))
insert into @tb
select 1,'空调','1w.jpg' union all
select 1,'空调','2.jpg' union all
select 1,'空调','3d.jpg' union all
select 2,'冰箱',null union all
select 3,'电视','11.jpg' union all
select 3,'电视','12.jpg'select * from @tb t
where not exists(select * from @tb where id=t.id and 产品图片>t.产品图片)id 产品名称 产品图片
----------- ---- ------
1 空调 3d.jpg
2 冰箱 NULL
3 电视 12.jpg(3 行受影响)
select * from @tb a where 产品图片= (select top 1 产品图片 from @tb where a.id=id)
ID是关联出来的吧 产品ID
insert into t
select 1,'空调','../imges1w.jpg' union all
select 1,'空调','../imges2.jpg' union all
select 1,'空调','../imges3d.jpg' union all
select 2,'冰箱',null union all
select 3,'电视','../imges11.jpg' union all
select 3,'电视','../imges12.jpg'--语句
select id,产品名称,max(产品图片) from(
select id,产品名称,convert(varchar(100),产品图片) as 产品图片
from t) a
group by id,产品名称
order by id--结果
1 空调 ../imges3d.jpg
2 冰箱 NULL
3 电视 ../imges12.jpg