我必须在三个表中使用 mysql 执行查询。
interface
---------------------
|id | name |
---------------------
|1 | inter1 |
---------------------
|2 | inter2 |
---------------------
inetrapp
--------------------------------------
|id | interid | appid |
--------------------------------------
|1 | 1 | 20 |
--------------------------------------
|2 | 1 | 21 |
--------------------------------------
|3 | 2 | 22 |
--------------------------------------
|4 | 2 | 23 |
--------------------------------------
app
--------------------------------------
id | appid | appname |
--------------------------------------
1 | 20 | sap |
--------------------------------------
2 | 21 | sap1 |
--------------------------------------
3 | 22 | wes |
--------------------------------------
4 | 23 | wes1 |
--------------------------------------
查询是这样的
select ti.id as id,
ti.name as name,
GROUP_CONCAT(DISTINCT tapp.appname order by ti.id SEPARATOR ",") as applications
from interface ti inner join interapp tiap on ti.id = tiap.interid inner join app as tapp on tiap.appid = tapp.appid where tapp.appname in ("sap1");
这给了我以下结果
--------------------------------------
|id | name | applications |
--------------------------------------
|1 | inter1 | sap1 |
--------------------------------------
但我需要所有与 inter1 有关系的应用程序,(即)我希望得到以下结果。
--------------------------------------
|id | name | applications |
--------------------------------------
|1 | inter1 | sap,sap1 |
--------------------------------------
请指导我修改我的上述查询。先感谢您。