Chinaunix

标题: 求助:这个query怎么写? [打印本页]

作者: gtaww    时间: 2009-04-03 11:42
标题: 求助:这个query怎么写?
表格T:

f1   f2
=   =
1    m
1    n
2    p
2    q

要求写一个query得到下面的输出:

1    m    n
2    p     q
作者: 枫影谁用了    时间: 2009-04-03 11:53
1.取出单独f2 DISTINCT/group by都可以 做为一个表
2.与现有表关联一下即可。
作者: gtaww    时间: 2009-04-03 12:04
原帖由 枫影谁用了 于 2009-4-3 11:53 发表
1.取出单独f2 DISTINCT/group by都可以 做为一个表
2.与现有表关联一下即可。


老大,能不能写详细点,我没用过sql
作者: luanqibazao    时间: 2009-04-03 12:23
这个不太好实现,是个纵表转横表的问题,在程序里比较好实现,用sql需要写存储过程之类的实现
作者: 枫影谁用了    时间: 2009-04-03 13:09
原帖由 gtaww 于 2009-4-3 12:04 发表


老大,能不能写详细点,我没用过sql :em03:

你一楼的数据为准,同id不同f2值不超2.

mysql> select aa.id,aa.v1,bb.v1 from  ( select a.`id` ,min(a.v1)  as v1  from     a1  as a group by  a.`id` ) as aa,  ( select a.`id` ,max(a.v1) as v1  from     a1  as a group by  a.`id` ) as bb  where aa.id=bb.id;
+------+------+------+
| id   | v1   | v1   |
+------+------+------+
|    1 | m    | n    |
|    2 | p    | q    |
+------+------+------+
2 rows in set (0.00 sec)

mysql> select * from a1;
+------+------+
| id   | v1   |
+------+------+
|    1 | m    |
|    1 | n    |
|    2 | p    |
|    2 | q    |
+------+------+
4 rows in set (0.00 sec)

mysql>


[ 本帖最后由 枫影谁用了 于 2009-4-3 13:10 编辑 ]




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2