请考虑以下简化的 MySQL 表:
id | docID | docTypeID | makeID | desc
1 | 1 | 1 | 1 | doc 1
2 | 1 | 1 | 2 | doc 2
3 | 2 | 2 | 1 | doc 3
4 | 3 | 3 | 2 | doc 4
5 | 1 | 1 | 4 | doc 5
6 | 2 | 2 | 5 | doc 6
7 | 4 | 1 | 1 | doc 7
在此示例中,docID、docTypeID 和 makeID 都是外键。
当 docTypeID 1 的文档与多个品牌相关联时,我需要将这些文档组合在一起并返回一个特殊的品牌描述(“找到多个品牌”)。
我需要为这个示例表返回的是:
id | docID | docTypeID | makeID | desc
1 | 1 | 1 | multiple makes found | doc 1
3 | 2 | 2 | 1 | doc 3
4 | 3 | 3 | 2 | doc 4
6 | 2 | 2 | 5 | doc 6
7 | 4 | 1 | 1 | doc 7
请注意,在 id 7 的情况下,仅找到一个 make,因此没有执行分组。
我不确定如何根据标准限制分组,或者是否可能。我希望这里的一位 SQL 天才可以提供帮助。如果需要任何其他信息,请告诉我。谢谢。