MySQL多个表连接四个表(Race和Results表)

时间:2017-09-16 11:26:59

标签: mysql sql

我需要创建一个MySQl查询来从数据库中的多个表中获取数据,我一直在尝试,但似乎无法正确。下面是我的表格和我想要的例子。

数据库表是:

https://www.google.com/maps/search/?api=1&query=106.8271745%2C-6.2285397&query_place_id=ChIJfybAIuXzaS4R8vsIwXnJcz8

汽车示例:

+-------------------+  
|        Car        |  
+-------------------+  
| Car_ID (Int)      |   
| Car_Name (String) |  
+-------------------+  

种族的例子:

Car_ID: 1  
Car_Name: BMW M3  

+-------------------+  
|       Race        |  
+-------------------+  
| Race_ID (Int)     |  
| Race_Car1 (Int)   |  
| Race_Car2 (Int)   |  
| Race_Number (Int) |  
+-------------------+  

结果示例:

Race_ID: 11  
Race_Car1: 3  
Race_Car2: 2  
Race_Number: 6  

+-------------------+  
|      Result       |  
+-------------------+  
| Result_ID (Int)   |   
| Result_Number (Int)|  
| Result_Result (Int)|  
+-------------------+  

ResultType示例:

Result_ID: 1  
Result_Number: 6  
Result_Result: 2

+-------------------+  
|    ResultType     |  
+-------------------+  
| ResultType_ID (Int)|   
| ResultType_Name (String)|  
+-------------------+  

我希望将Car表连接到Race表Race_Car1和Race_Car2字段的查询,然后结果表Result_Number的结果必须与Race_Number字段连接,并且Result_Type也必须连接到Result_Result字段。

基本上我想要这样的结果:

ResultType_ID: 1  
ResultType_Name: Car1 Win   

1 个答案:

答案 0 :(得分:0)

你可以使用自联接加入汽车时间

在我的回答中,我显示了赢家车名而不是car1或car2

class Curpath(gdb.Command):
    """
Print absolute path of the current file.
"""
    def __init__(self):
        super().__init__('curpath', gdb.COMMAND_FILES)
    def invoke(self, argument, from_tty):
        gdb.write(gdb.selected_frame().find_sal().symtab.fullname() + os.linesep)
Curpath()