3

表名:x

id name id 是主键

1   xxxx
2   yyyy

表名:y
sno 主键 id 外键类

1 1 first 
2 1  second

输出

id 
xxxx first second

我不想为每一行重复名称

SELECT x.name, y.class from x,y  WHERE x.id = y.id

此查询输出为 xxxx first 和 xxxx second

4

3 回答 3

4

然后添加GROUP BY y.id以避免重复。

于 2012-07-31T07:38:32.263 回答
1
SELECT x.name, y.class 
FROM x
     LEFT JOIN (SELECT DISTINCT id, class FROM y) y 
        ON x.id = y.id;
于 2012-07-31T07:38:21.800 回答
0

试试这个:

set @yclass:='';
select  a.name,max(class) as class
from
(select @xname:=name as name,@yclass:=concat(@yclass,' ',y.class)  as class
from x join y
on x.id=y.id)a
于 2012-07-31T09:16:23.383 回答