用sql语句实现在同一张表中找到1个字段相同,另1个字段不同的记录

比如表A中
字段1 字段2
2 43
3 65
2 68
1 92
2 55
1 100
用sql语句实现查询,查询出表
1 92、100
2 43、68、55
3 65
这样结果

你的问题主要是实现行转列
oracle数据库中后者可以用wmsys.wm_concat实现,具体sql如下:
select 字段1, wmsys.wm_concat(字段2) from 表
group by 字段1追问

#1305 - FUNCTION wmsys.wm_concat does not exist 出现这个错误

追答

厄,目测你这是SQL SERVER
如果有其它列做标识,可以用在子查询中使用union来连接
如果没有标识,只好用存储过程来实现了
可以看下面的参考

参考资料:http://www.cnblogs.com/emanlee/archive/2009/08/14/1546353.html

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-29
SELECT 表B.字段1,LEFT(字段2,LEN(字段2)-1) as 字段2 FROM (
SELECT 字段1,
(SELECT 字段2+'、' FROM 表A
WHERE 字段1=表c.字段1
FOR XML PATH('')) AS 字段2
FROM 表A 表c
GROUP BY 字段1
) 表B

FOR XML PATH 用法可以参照 http://hi.baidu.com/gagahjt/item/bfe3cbf3f3b833e61b111fc6
第2个回答  2012-12-29
select 字段1, 字段2 from 表A group by 字段1

用sql语句实现在同一张表中找到1个字段相同,另1个字段不同的记录
oracle数据库中后者可以用wmsys.wm_concat实现,具体sql如下:select 字段1,wmsys.wm_concat(字段2)from 表 group by 字段1

用sql语句实现在同一张表中找到1个字段相同,另1个字段不同的记录
select distinct x.字段一,x.字段二 from a as x,a as Y where x.字段一=y.字段一 and x.字段二!=y.字段二 其中,x和y是a表的别称,这个原来是用来查询至少选修两门课程的学生,我改成了这样,也就意味着查询结果可能有多个,因为万一有三个,他们之间就是两两不相同的,也符合这个条件 ...

用sql语句实现在同一张表中找到1个字段相同,另1个字段不同的记录
如果是sql server 2005以下,可以用如下方式来实现 select t.col1,stuff((select '、'+ convert(varchar(10),t1.col2)from A t1 where t1.col1= t.col1 for xml path('')),1,1,'') as col2 from A t group by t.col1

使用SQL语句如何查询一个表中一个字段的值相同,另外一个字段的值不同...
假设表名为table,相同字段为C,不同字段为D select * from table as A ,table as B where A.C=B.C and A.D<>B.D

使用SQL语句如何查询一个表中一个字段的值相同,另外一个字段的值不同...
go create table table1 (a int ,b int)go insert into table1 select 1,1 union select 1,2 union select 1,3 union select 2,1 go SELECT a.* from table1 a where exists(select * from table1 b where a.a=b.a and a.b<>b.b )--记得及时采纳,今天任务还没完成,只差一...

sql 查询其中一个字段相同,另一个字段不相同的记录
select distinct A字段,B字段 from 表 group by A字段,B字段 order by A字段,B字段

sql 查询其中一个字段相同,另一个字段不相同的记录
select a,b,c from tab group by a,b,c 这是一个聚合函数,按照a,b,c的值集合相同的为一条数据

SQL查找某一字段相同,某一字段不同的数据
> 1) ”sql语句删除姓名重复的数据。4、通过“select distinct name from user”sql语句来去掉重复数据,这里去掉了张三的重复数据。5、通过“select distinct class from user”sql语句来去掉班级相同的重复数据。6、也可以通过“select distinct name,class from user”来去掉两个字段的重复数据。

SQL 查询语句,一个表中 两个字段,一个相同另一个不同
GROUP BY 表1.A]. AS [last]WHERE BB=-1;'因为True+false=-1 ,以上语句在access2003中通过。结果为1 '只是不知道1个A 会不会有很多B状态 比如 1 true 1 true 1 false 1 false 这样的话就不行了。另外提问者没有交待清楚B字段是何类型,我理解应该是Boolean型的吧。可是那个Flase一会大写...

SQL语句怎样查询同一表同一字段不同的记录
通过distinct语句可以过滤同一字段的相同数据,让相同数据只显示一次,这样可以达到你的要求。

相似回答