mysql 连接多个

标签 mysql sql

使用products表作为主表,我想列出所有产品。如果产品在表 prod_desc 中有描述,我想将其拉入。另外,如果产品有制造商描述,我想将其拉入。我希望产品行显示一次,是否有产品描述、制造商描述、其中之一、两者或两者都没有。

左连接对于一次外部查找效果很好,但第二次就搞砸了。

SELECT * FROM t1
LEFT JOIN t3 ON t1.a=t3.a
LEFT JOIN t2 ON t1.b=t2.b

最佳答案

如果同一产品有多个产品说明或同一产品有多个制造商说明,您将需要“汇总”说明。

Select P.Id, P...
    , Group_Concat( PD.desc ) As DescriptionList
    , Group_Concat( PMD.desc ) As MfrDescriptionList
From products As P
    Left Join prod_desc As PD
        On PD.product_id = P.id
    Left Join prod_mfr_desc As PMD
        On PMD.product_id = P.id
Group By P.id

关于mysql 连接多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5939332/

相关文章:

mysql - 当项目分为两个特定类别时选择单行 [MySql]

javascript - 使用 mysql 而不是 mongodb 的 Botkit

MySQL根据每个公司ID的多个其他行插入新行

php - 从MySQL数据库中显示php中的所有表名

sql - 将Excel公式转换为SQL查询

php - Zabbix:无法确定 "dbversion"

mysql - 如何比较2个查询的结果并获取匹配的值

sql - 基于 where 子句选择范围

php - SELECT 中的 mySQL 空 SELECT 不应为整个查询返回 null

sql - 为什么分区需要嵌套选择?