select min(c1) as c1,c2,max(c3) as c2
from t
group by c2
from t
group by c2
解决方案 »
- 我想找一些标准sql的资料,哪有呀?即标准sql都规定了什么?
- 如何分段显示查询结果(重复的字段置空)?
- SQL中怎样将得到的数值型结果转换为两位小数?
- sql入门,求区间统计语句
- 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界问题
- 我的这个sql执行将近1分多钟,请求优化。。。
- 行列转换
- 怎样改变显示方式
- # 交叉数据报表(行列转换)问题 #
- sql 有没有函数根据日期判断是否为法定节假日或者春节
- 关分给你们!!
- 晕,java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]End of stream was detected on a read. 如何解决?
a b b
b b c
x x y
z x x
用你的方法简化出来是
c1 C2 c2
a b c
x x y 目标是
C1 C2 C3
a b c
x y z多谢了
C1C2C3
abb
bbc
dbf --新加的
xxy
zxx
C1 C2 C3
a b b
b b c
x x y
z x x结果
a b c
z x y在实践中是这样的, 左边 物品 右边
a b b 物品右边是同种的
b b c 物品左边是同种的
x x y 物品左边是同种的
z x x 物品右边是同种的现在就是要找到物品b ,x 两边的不同的物品存储在表中
结果 a b c
z x y
C1 C2 C3
a b b
b b c
d b u --新加
x x y
z x x
b x i --新加
a b c u
z x y i
会出现这样的情况
a b b
b b a
简化为 a b a
create function dbo.c_C1(@c2)
returns varchar(1000)
as
begin
declare @s varchar(1000)
set @s=''
select @s=@s+' '+c1 from t where c2=@c2 group by c1
return @s
end create function dbo.c_C3(@c2)
returns varchar(1000)
as
begin
declare @s varchar(1000)
set @s=''
select @s=@s+' '+c3 from t where c2=@c2 group by c3
return @s
end --查询
select dbo.c_c1(c2),c2,dbo.c_c3(c2)
from t
group by c2
create function dbo.c_C1(@c2)
returns varchar(1000)
as
begin
declare @s varchar(1000)
set @s=''
select @s=@s+' '+c1 from t where c2=@c2 and c1<>@c2 group by c1 --加一个条件
return @s
end create function dbo.c_C3(@c2)
returns varchar(1000)
as
begin
declare @s varchar(1000)
set @s=''
select @s=@s+' '+c3 from t where c2=@c2 and c3<>@c2 group by c3 --加一个条件
return @s
end --查询
select dbo.c_c1(c2),c2,dbo.c_c3(c2)
from t
group by c2
a b b b c
x z x x y我能希望是
a b c
z x y
么
returns varchar(1000)
as
begin
declare @s varchar(1000)
set @s=''
select @s=@s+' '+c1 from t where c1=@c2 group by c1
return @s
end create function dbo.c_C3(@c2)
returns varchar(1000)
as
begin
declare @s varchar(1000)
set @s=''
select @s=@s+' '+c3 from t where c3=@c2 group by c3
return @s
end --查询
select dbo.c_c1(c2),c2,dbo.c_c3(c2)
from t
group by c2
create function dbo.c_C1(@c2 varchar(10))
returns varchar(1000)
as
begin
declare @s varchar(1000)
set @s=''
select @s=@s+' '+c1 from 表名 where c2=@c2 and c1<>@c2 group by c1
return @s
end
go create function dbo.c_C3(@c2 varchar(10))
returns varchar(1000)
as
begin
declare @s varchar(1000)
set @s=''
select @s=@s+' '+c3 from 表名 where c2=@c2 and cgroup by c3
return @s
end select dbo.c_c1(c2),c2,dbo.c_c3(c2)
from tg
group by c2