MySQL连接多个列(都包含相同范围的整数)

问题描述 投票:0回答:1

我有一个视图(在phpmyadmin中),具有多个足球(足球)球队的从1-73排名的属性

team_attribute_rank

还有另一个带有等效的文本描述,将其包含在描述性输出字符串中。

equivalent text

我正在尝试生成与第一个图像相同的MySql视图,但是包含文本描述而不是单元格中的数字。

我已经尝试过从第一个表进行左联接,并且可以成功地对单个列执行此操作,但是一次不能对一个以上的列执行此操作。

有人可以协助吗?文本将通过PHP,JAVA,HTML和CSS输出到网页上。

php mysql join select sql-view
1个回答
0
投票

您通常会在视图的每一列中加入一次描述表。每个联接使用不同的别名,因此它不是模棱两可的。然后,您可以参考where子句中的描述。

假设您的视图称为myview,描述表称为descr,则为:

select
    v.team_name,
    d_finishing.description finishing,
    d_long_shots.description long_shots,
    d_pace.description pace,
    ...
from myview v
inner join descr d_finishing on d_finishing.rank = t.finishing
inner join descr d_long_shots on d_long_shots.rank = t.long_shots
inner join descr d_pace on d_pace.rank = t.pace
inner join ...

您还可以通过一系列相关的子查询来执行此操作:

select
    v.team_name,
    (select description from descr d where d.rank = t.finishing) finishing,
    (select description from descr d where d.rank = t.long_shots) long_shots,
    (select description from descr d where d.rank = t.pace) pace,
    ...
from myview v
© www.soinside.com 2019 - 2024. All rights reserved.