什么数据库? Oracle的话直接写子查询: select * from table where class in (select class from table where id='s001')
如果数据库是oracle create table kc( xh varchar(50), kc varchar(50), fs number(5,1) )insert into sc values ('s001','c001',78.9); insert into sc values ('s002','c001',80.9); insert into sc values ('s003','c001',81.9); insert into sc values ('s004','c001',60.9); insert into sc values ('s001','c002',82.9); insert into sc values ('s002','c002',72.9); insert into sc values ('s003','c002',81.9); insert into sc values ('s001','c003',59); insert into sc values ('s002','c003',78.9);/* Formatted on 2014-8-18 16:57:09 (QP5 v5.185.11230.41888) */ SELECT * FROM ( SELECT wm_concat (a.KC) AS newkc,a.xh FROM sc a GROUP BY xh) WHERE newkc = (SELECT wm_concat (b.KC) FROM sc b WHERE b.xh = 's001') and xh<>'s001'
select * from table where class in (select class from table where id='s001')
create table kc(
xh varchar(50),
kc varchar(50),
fs number(5,1)
)insert into sc values ('s001','c001',78.9);
insert into sc values ('s002','c001',80.9);
insert into sc values ('s003','c001',81.9);
insert into sc values ('s004','c001',60.9);
insert into sc values ('s001','c002',82.9);
insert into sc values ('s002','c002',72.9);
insert into sc values ('s003','c002',81.9);
insert into sc values ('s001','c003',59);
insert into sc values ('s002','c003',78.9);/* Formatted on 2014-8-18 16:57:09 (QP5 v5.185.11230.41888) */
SELECT *
FROM ( SELECT wm_concat (a.KC) AS newkc,a.xh
FROM sc a
GROUP BY xh)
WHERE newkc = (SELECT wm_concat (b.KC)
FROM sc b
WHERE b.xh = 's001') and xh<>'s001'