嗨,我需要一个关于这个问题的帮助。我尝试过子查询但是没有得到我想要的结果。
论文是我的表:
**tblefruitdesc**
ID Desc
1 Round
2 Smooth
3 Rough
**tblefruit**
ID Name
1 apple
2 orange
**tblmultidesc**
ID fruit_id fruit_desc
1 1 1
2 2 2
3 2 3
我想要输出:
**tblmultidesc**
Name Desc
Apple Round
Orange Smooth,Rough
答案 0 :(得分:1)
通过tblmultidesc
将这三个表连接在一起,然后使用GROUP_CONCAT
获取每个水果的逗号分隔说明列表。
SELECT t3.Name,
GROUP_CONCAT(t2.Desc) AS Desc
FROM tblmultidesc t1
INNER JOIN tblefruitdesc t2
ON t1.fruit_desc = t2.ID
INNER JOIN tblefruit t3
ON t1.fruit_id = t3.ID
GROUP BY t3.Name
答案 1 :(得分:0)
SELECT b.name, c.Desc
FROM tblemultidesc a
LEFT JOIN tblefruit b
ON a.fruit_id = b.ID
LEFT JOIN tblefruitdesc c
ON a.fruit_desc = c.ID
你真的想创建另一个表还是只显示结果?
如果你想创建另一个可以反复使用的表,只需将一个CREATE VIEW你的viewname作为select语句;然后,您可以根据需要多次使用SELECT * FROM yourviewname,而无需写出SELECT语句。