日期:2014-05-16  浏览次数:20714 次

求显示数据查询
先看表结构
SQL code

CREATE TABLE `usre` (
 `ID`  int(11) NOT NULL AUTO_INCREMENT ,
 `name`  varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
 `age`  int(3) NULL DEFAULT NULL ,
 PRIMARY KEY (`ID`)
 )
 ENGINE=MyISAM
 DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
 AUTO_INCREMENT=1
 CHECKSUM=0
 ROW_FORMAT=DYNAMIC
 DELAY_KEY_WRITE=0
 ;


SQL code
CREATE TABLE `pic` (
 `pid`  int(10) NOT NULL AUTO_INCREMENT ,
 `id`  int(15) NULL DEFAULT NULL ,
 `url`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
 PRIMARY KEY (`pid`)
 )
 ENGINE=MyISAM
 DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
 COMMENT='与user表id对应'
 AUTO_INCREMENT=1
 CHECKSUM=0
 ROW_FORMAT=DYNAMIC
 DELAY_KEY_WRITE=0
 ;


现在要查出所有用户的资料以及用户上传的图片url,可是我查出来的时候,用户这块重复了,也就是有pic里有多少条记录用户就有多少记录,但我现在只想让用户出现一次,而url有多少出多少,这个语句要怎么写?只用一条,谢谢。

------解决方案--------------------
url以什么格式出现? 
SQL code
SELECT usre.id,usre.name,usre.age,GROUP_CONCAT(pic.url) AS url 
FROM usre LEFT JOIN pic 
ON usre.id=pic.id 
GROUP BY usre.id,usre.name,usre.age

------解决方案--------------------
楼上的可以
------解决方案--------------------
只能:GROUP_CONCAT了。不然要看你怎么应用了。
------解决方案--------------------
试图真心没怎么用过,坐等高手指教了。。
------解决方案--------------------
为什么不在你的PHP代码中处理?
------解决方案--------------------
在CSDN上面还是学到了不少。