mysql多表联合查询,联合输出记录问题?请看图。。。
MYSQL三个表,products产品表,img产品图片表,descrition产品描术表,现在的问题是:products表中有name,model,.......等字段...
MYSQL三个表,products 产品表,img 产品图片表,descrition 产品描术表,现在的问题是:
products 表中有name ,model,.......等字段
img 表中有model,img_name....等字段
description 表中有model,desc....等字段
三个表是中的model字段是相同的,现在的问题是:怎么以products这个表为基础,联合输出img表中的img_name字段、description表中的desc字段???
组合后的记录:name,model,img_name,img_name,img_name....desc,desc,desc,desc.....
products中的一条记录,可能对应img表、description表中多条记录,能不能把img表、description表中的多条记录与products中的对应记录组合出来,输出相应的字段??? 展开
products 表中有name ,model,.......等字段
img 表中有model,img_name....等字段
description 表中有model,desc....等字段
三个表是中的model字段是相同的,现在的问题是:怎么以products这个表为基础,联合输出img表中的img_name字段、description表中的desc字段???
组合后的记录:name,model,img_name,img_name,img_name....desc,desc,desc,desc.....
products中的一条记录,可能对应img表、description表中多条记录,能不能把img表、description表中的多条记录与products中的对应记录组合出来,输出相应的字段??? 展开
2个回答
2012-11-30
展开全部
SELECT
a.name,
GROUP_CONCAT( b.desc) AS alldesc,
GROUP_CONCAT( c.img_name ) AS allimg_name
FROM
procucts a
JOIN description b ON (a.model = b.model)
JOIN img c ON (a.model = c.model)
GROUP BY
a.name;
这样是 稍微接近 预期结果的样子.
a.name,
GROUP_CONCAT( b.desc) AS alldesc,
GROUP_CONCAT( c.img_name ) AS allimg_name
FROM
procucts a
JOIN description b ON (a.model = b.model)
JOIN img c ON (a.model = c.model)
GROUP BY
a.name;
这样是 稍微接近 预期结果的样子.
展开全部
select a.name,a.model,b.desc,c.img_name from procucts a,description b,img c
where a.model=b.model and a.,model=c.model
where a.model=b.model and a.,model=c.model
更多追问追答
追问
你这种是联合查询,输出的记录数是表products * descripgion * img,,你还是没明白我的意思,,,我的意思是products中的一条记录,通过sql查询语句,,,把descripgion、img中的相应的多条记录中的字段追加到products后面,形成一条完整的记录。。。就如我在提问中说的:
组合后的记录:name,model,img_name,img_name,img_name....desc,desc,desc,desc.....
这样输出的记录数就是products表的记录数。。。。
追答
我理解不了,你举个例子说一说
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询