id need name
1 aaaa 名称1
2 bbbb 名称2
3 cccc 名称1
4 dddd 名称1
5 eeee 名称2
6 ffff 名称1
mysql里建上面这样一张表,name字段是关联字段,想一条sql语句通过name字段 把所有need查询出来,比方说现在想查询出name字段值为名称1的need数据,
需求是查询出的记录是一条,就是这样的:
aaaa cccc dddd ffff 名称1再比方说查询出name字段值为名称2的need数据,则需要查询出这样的结果:
bbbb eeee 名称2
这个需求比较怪异 小弟新手不能完成 在此请教大牛帮忙实现 在线等 谢谢了 祝好心人一生平安
1 aaaa 名称1
2 bbbb 名称2
3 cccc 名称1
4 dddd 名称1
5 eeee 名称2
6 ffff 名称1
mysql里建上面这样一张表,name字段是关联字段,想一条sql语句通过name字段 把所有need查询出来,比方说现在想查询出name字段值为名称1的need数据,
需求是查询出的记录是一条,就是这样的:
aaaa cccc dddd ffff 名称1再比方说查询出name字段值为名称2的need数据,则需要查询出这样的结果:
bbbb eeee 名称2
这个需求比较怪异 小弟新手不能完成 在此请教大牛帮忙实现 在线等 谢谢了 祝好心人一生平安
对不起大牛 您理解错了 不是我要的结果比方说现在想查询出name字段值为名称1的need数据,
需求是查询出的记录是一条,就是这样的:
aaaa cccc dddd ffff 名称1
这个结果是5个字段
第一个字段值 aaaa
第二个字段值 cccc
第三个字段值 dddd
第四个字段值 ffff
第五个字段值 名称1
而您提供的结果只有2个字段,显然是不对的,继续在线等
from 这样一张表
group by name
需求是查询出的记录是一条,就是这样的:
aaaa cccc dddd ffff 名称1
这个结果是5个字段
第一个字段值 aaaa
第二个字段值 cccc
第三个字段值 dddd
第四个字段值 ffff
第五个字段值 名称1
而您提供的结果只有2个字段,显然是不对的,继续在线等
需求是查询出的记录是一条,就是这样的:
aaaa cccc dddd ffff 名称1
这个结果是5个字段
第一个字段值 aaaa
第二个字段值 cccc
第三个字段值 dddd
第四个字段值 ffff
第五个字段值 名称1
而您提供的结果只有2个字段,显然是不对的,继续在线等
字段1 字段2 字段3 字段4 字段5
aaaa cccc dddd ffff 名称1
是这样?
你测试过没有?只有1个字段、1条记录
MySQL交叉表
在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义。http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?96198现整理解法如下:数据样本: create table tx( id int primary key, c1 c...
where name='名称1'
group by name;
字段1 字段2 字段3 字段4 字段5
aaaa cccc dddd ffff 名称1是要这样的结果,新手搞不定,做不到,是不是这个需求无法实现?
打开select (need) from tt where name = '名称1' 记录集,
字符否则再执行
打开select need from tt where name = '名称1' 记录集,游标循环取值
字符串累加生成SQL语句,再执行
select concat(group_concat(need),',',name) from tb2 where name ='name1' group by name;+-------------------------------------+
| concat(group_concat(need),',',name) |
+-------------------------------------+
| aa,cc,dd,ff,name1 |
+-------------------------------------+
1 row in set (0.00 sec)