MySQL加入此特定方案

ven*_*lam -1 mysql join

我遇到了MySQL连接问题.

Table_A:

 A_id  Cost1  A1_id  Cost2
 1     500     0     200
 1     100     1     100
 1     50      2      60
 1     10      3      50
 2      5      0      10
Run Code Online (Sandbox Code Playgroud)

Table_B(参考B_id:来自Table_A A1_id):

 B_id  FName  LName
 1     X      A
 2     Y      B
 3     Z      C
Run Code Online (Sandbox Code Playgroud)

Table_C(参考C_id:来自Table_A A_id):

C_id  Towns

 1    Atlanta
 2    NewYork
Run Code Online (Sandbox Code Playgroud)

我需要组合所有三个表,如下面的输出:

  • 我提取Towns那场比赛(Table_A.A_id=Table_C.C_id).
  • 我提取Fname,Lname匹配(table_A.A1_id=Table_b.b_id).
  • 我需要跳过Townsif A1_id != 0.
  • 我需要跳过Fname,Lname如果A1_id == 0.

其余数据可以是值或null,我将其指定为"#".对于给定的场景,什么是高效的MySQL查询?

输出:

A_id  Cost1  A1_id cost2 Fname Lname Towns
1     500     0    200    #     #    Atlanta
1     100     1    100    X     A     #
1      50     2     60    Y     B     #
1      10     3     50    Z     C     #
Run Code Online (Sandbox Code Playgroud)

Wou*_*ick 6

我认为它应该是这样的.

select A_id, Cost1,  A1_id, cost2, Fname, Lname, Towns
from Table_A
left join Table_B on table_A.A1_id = Table_b.b_id
left join Table_C on Table_A.A_id  = Table_C.C_id
Run Code Online (Sandbox Code Playgroud)