Mysql将几个表连接在一起

时间:2016-01-31 17:30:54

标签: php mysql foreach inner-join

让我们从开始就开始吧。

我有3张桌子:

表格应用:

apps
id     name      status
-----------------------------

表menu_subsection:

menu_subsection
id     app_id    subsection
-----------------------------

表网站:

site
id  site_name app1 app2 app3 app4 app5 app6 app7 app8 app9 app10 ... app19 app20
---------------------------------------------------------------------------------

表格网站包含app1到app20的列。

为了更好的解释,site.app1-20等于apps.idapps.name等于menu_subsection.subsection

现在我想为每个<li>menu_subsection.$subsection</li>列显示table.site app1-20等于1

apps.status = 1

首先,我是mysql的新手,我很欣赏建议,也许如果你认为修改表格会更好,我会尽力让它以最好的方式运行。

我还想到减少app1-20列并将其替换为值将被传播的应用程序,昏迷。

1 个答案:

答案 0 :(得分:0)

您的网站表效率不高。拥有庞大的领域!您最好使用3个效率更高的字段,并提供一个易于查询的良好解决方案! 我还认为appsmenu_subsection表在语义上是相同的(具有相同的字段和相同的域) 所以你可以得到两个表:

应用程式:

apps
id     name      subsection      status
----------------------------------------

站点:

site
id      site_name      app_id
------------------------------

然后你可以查询这两个表:

SELECT subsection FROM apps INNER JOIN site WHERE status = 1