1

3 つのテーブルで 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   |
--------------------------------------

上記のクエリをいじくり回してください。前もって感謝します。

4

1 に答える 1