繁体   English   中英

SQL子查询和表联接问题

[英]SQL Sub-Query and Table Joins Issue

您好,我需要有关此问题的帮助。 我尝试了子查询,但没有得到想要的结果。

这些是我的表:

**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

通过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
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 yourviewname用作select语句即可; 这样,您将可以根据需要多次使用SELECT * FROM yourviewname,而无需写出SELECT语句。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM