我现在在做一个这样的东西,有一个数据表userinfo,里面有对应的关键字段username来存储用户的姓名的,然后我做的网页页面可以通过读取一共有多少个姓氏就建立起多少张标签,然后点每一张标签的时候,和他同姓的人都放在一起,
然后我现在第一个棒定的记录集合采用的是 SELECT DISTINCT LEFT(name,1) FROM userinfor 确实可以把 里面的所有的姓氏都查出来 ,这一步确实成功了。然后再接下来的时候就碰到了麻烦,就是说我要把所有相同的姓氏的人放在一起,我的思想是基于前一个基础上,再次查询, 我用的是SELECT username FROM userinfor WHERE name LIKE '(SELECT DISTINCT LEFT(name,1) AS bear FROM userinfor)%' 但是到这里就失败了,记录集总是空的
如果我改成SELECT username FROM userinfor WHERE name LIKE '张%>就能查到,但是这样又是没有意义的。。请问 该如何是好?
然后我现在第一个棒定的记录集合采用的是 SELECT DISTINCT LEFT(name,1) FROM userinfor 确实可以把 里面的所有的姓氏都查出来 ,这一步确实成功了。然后再接下来的时候就碰到了麻烦,就是说我要把所有相同的姓氏的人放在一起,我的思想是基于前一个基础上,再次查询, 我用的是SELECT username FROM userinfor WHERE name LIKE '(SELECT DISTINCT LEFT(name,1) AS bear FROM userinfor)%' 但是到这里就失败了,记录集总是空的
如果我改成SELECT username FROM userinfor WHERE name LIKE '张%>就能查到,但是这样又是没有意义的。。请问 该如何是好?
可以这么作,如果建立了张和李的标签,那你点张这个标签的时候就查一下表select * from userinfo where left(name,1)='张',达到目的
FROM userinfor a,
(SELECT DISTINCT LEFT(name,1) AS bear FROM userinfor)b
where a.name like b.bear+'%'